{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "68a249bd",
   "metadata": {},
   "source": [
    "## Importing Libraries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "8d8a6072",
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "980c00d5",
   "metadata": {},
   "outputs": [],
   "source": [
    "sns.set_style('darkgrid')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b017e4fb",
   "metadata": {},
   "source": [
    "Train Dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "7b59d901",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Id</th>\n",
       "      <th>Open Date</th>\n",
       "      <th>City</th>\n",
       "      <th>City Group</th>\n",
       "      <th>Type</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>P3</th>\n",
       "      <th>P4</th>\n",
       "      <th>P5</th>\n",
       "      <th>...</th>\n",
       "      <th>P29</th>\n",
       "      <th>P30</th>\n",
       "      <th>P31</th>\n",
       "      <th>P32</th>\n",
       "      <th>P33</th>\n",
       "      <th>P34</th>\n",
       "      <th>P35</th>\n",
       "      <th>P36</th>\n",
       "      <th>P37</th>\n",
       "      <th>revenue</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>07/17/1999</td>\n",
       "      <td>İstanbul</td>\n",
       "      <td>Big Cities</td>\n",
       "      <td>IL</td>\n",
       "      <td>4</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>5653753.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>02/14/2008</td>\n",
       "      <td>Ankara</td>\n",
       "      <td>Big Cities</td>\n",
       "      <td>FC</td>\n",
       "      <td>4</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6923131.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>03/09/2013</td>\n",
       "      <td>Diyarbakır</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2055379.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>02/02/2012</td>\n",
       "      <td>Tokat</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>6</td>\n",
       "      <td>4.5</td>\n",
       "      <td>6.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>7.5</td>\n",
       "      <td>25</td>\n",
       "      <td>12</td>\n",
       "      <td>10</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>6</td>\n",
       "      <td>2675511.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>05/09/2009</td>\n",
       "      <td>Gaziantep</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>4316715.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 43 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Id   Open Date        City  City Group Type  P1   P2   P3   P4  P5  ...  \\\n",
       "0   0  07/17/1999    İstanbul  Big Cities   IL   4  5.0  4.0  4.0   2  ...   \n",
       "1   1  02/14/2008      Ankara  Big Cities   FC   4  5.0  4.0  4.0   1  ...   \n",
       "2   2  03/09/2013  Diyarbakır       Other   IL   2  4.0  2.0  5.0   2  ...   \n",
       "3   3  02/02/2012       Tokat       Other   IL   6  4.5  6.0  6.0   4  ...   \n",
       "4   4  05/09/2009   Gaziantep       Other   IL   3  4.0  3.0  4.0   2  ...   \n",
       "\n",
       "   P29  P30  P31  P32  P33  P34  P35  P36  P37    revenue  \n",
       "0  3.0    5    3    4    5    5    4    3    4  5653753.0  \n",
       "1  3.0    0    0    0    0    0    0    0    0  6923131.0  \n",
       "2  3.0    0    0    0    0    0    0    0    0  2055379.0  \n",
       "3  7.5   25   12   10    6   18   12   12    6  2675511.0  \n",
       "4  3.0    5    1    3    2    3    4    3    3  4316715.0  \n",
       "\n",
       "[5 rows x 43 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_train = pd.read_csv(\"train.csv\")\n",
    "df_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "ddb21cdb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 137 entries, 0 to 136\n",
      "Data columns (total 43 columns):\n",
      " #   Column      Non-Null Count  Dtype  \n",
      "---  ------      --------------  -----  \n",
      " 0   Id          137 non-null    int64  \n",
      " 1   Open Date   137 non-null    object \n",
      " 2   City        137 non-null    object \n",
      " 3   City Group  137 non-null    object \n",
      " 4   Type        137 non-null    object \n",
      " 5   P1          137 non-null    int64  \n",
      " 6   P2          137 non-null    float64\n",
      " 7   P3          137 non-null    float64\n",
      " 8   P4          137 non-null    float64\n",
      " 9   P5          137 non-null    int64  \n",
      " 10  P6          137 non-null    int64  \n",
      " 11  P7          137 non-null    int64  \n",
      " 12  P8          137 non-null    int64  \n",
      " 13  P9          137 non-null    int64  \n",
      " 14  P10         137 non-null    int64  \n",
      " 15  P11         137 non-null    int64  \n",
      " 16  P12         137 non-null    int64  \n",
      " 17  P13         137 non-null    float64\n",
      " 18  P14         137 non-null    int64  \n",
      " 19  P15         137 non-null    int64  \n",
      " 20  P16         137 non-null    int64  \n",
      " 21  P17         137 non-null    int64  \n",
      " 22  P18         137 non-null    int64  \n",
      " 23  P19         137 non-null    int64  \n",
      " 24  P20         137 non-null    int64  \n",
      " 25  P21         137 non-null    int64  \n",
      " 26  P22         137 non-null    int64  \n",
      " 27  P23         137 non-null    int64  \n",
      " 28  P24         137 non-null    int64  \n",
      " 29  P25         137 non-null    int64  \n",
      " 30  P26         137 non-null    float64\n",
      " 31  P27         137 non-null    float64\n",
      " 32  P28         137 non-null    float64\n",
      " 33  P29         137 non-null    float64\n",
      " 34  P30         137 non-null    int64  \n",
      " 35  P31         137 non-null    int64  \n",
      " 36  P32         137 non-null    int64  \n",
      " 37  P33         137 non-null    int64  \n",
      " 38  P34         137 non-null    int64  \n",
      " 39  P35         137 non-null    int64  \n",
      " 40  P36         137 non-null    int64  \n",
      " 41  P37         137 non-null    int64  \n",
      " 42  revenue     137 non-null    float64\n",
      "dtypes: float64(9), int64(30), object(4)\n",
      "memory usage: 46.2+ KB\n"
     ]
    }
   ],
   "source": [
    "df_train.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "86d2dce9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Id</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>P3</th>\n",
       "      <th>P4</th>\n",
       "      <th>P5</th>\n",
       "      <th>P6</th>\n",
       "      <th>P7</th>\n",
       "      <th>P8</th>\n",
       "      <th>P9</th>\n",
       "      <th>...</th>\n",
       "      <th>P29</th>\n",
       "      <th>P30</th>\n",
       "      <th>P31</th>\n",
       "      <th>P32</th>\n",
       "      <th>P33</th>\n",
       "      <th>P34</th>\n",
       "      <th>P35</th>\n",
       "      <th>P36</th>\n",
       "      <th>P37</th>\n",
       "      <th>revenue</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>137.000000</td>\n",
       "      <td>1.370000e+02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>68.000000</td>\n",
       "      <td>4.014599</td>\n",
       "      <td>4.408759</td>\n",
       "      <td>4.317518</td>\n",
       "      <td>4.372263</td>\n",
       "      <td>2.007299</td>\n",
       "      <td>3.357664</td>\n",
       "      <td>5.423358</td>\n",
       "      <td>5.153285</td>\n",
       "      <td>5.445255</td>\n",
       "      <td>...</td>\n",
       "      <td>3.135036</td>\n",
       "      <td>2.729927</td>\n",
       "      <td>1.941606</td>\n",
       "      <td>2.525547</td>\n",
       "      <td>1.138686</td>\n",
       "      <td>2.489051</td>\n",
       "      <td>2.029197</td>\n",
       "      <td>2.211679</td>\n",
       "      <td>1.116788</td>\n",
       "      <td>4.453533e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>39.692569</td>\n",
       "      <td>2.910391</td>\n",
       "      <td>1.514900</td>\n",
       "      <td>1.032337</td>\n",
       "      <td>1.016462</td>\n",
       "      <td>1.209620</td>\n",
       "      <td>2.134235</td>\n",
       "      <td>2.296809</td>\n",
       "      <td>1.858567</td>\n",
       "      <td>1.834793</td>\n",
       "      <td>...</td>\n",
       "      <td>1.680887</td>\n",
       "      <td>5.536647</td>\n",
       "      <td>3.512093</td>\n",
       "      <td>5.230117</td>\n",
       "      <td>1.698540</td>\n",
       "      <td>5.165093</td>\n",
       "      <td>3.436272</td>\n",
       "      <td>4.168211</td>\n",
       "      <td>1.790768</td>\n",
       "      <td>2.576072e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.149870e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>34.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>2.500000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.999068e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>68.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.939804e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>102.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>5.166635e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>136.000000</td>\n",
       "      <td>12.000000</td>\n",
       "      <td>7.500000</td>\n",
       "      <td>7.500000</td>\n",
       "      <td>7.500000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>7.500000</td>\n",
       "      <td>25.000000</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>25.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>24.000000</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>20.000000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>1.969694e+07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8 rows × 39 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "               Id          P1          P2          P3          P4          P5  \\\n",
       "count  137.000000  137.000000  137.000000  137.000000  137.000000  137.000000   \n",
       "mean    68.000000    4.014599    4.408759    4.317518    4.372263    2.007299   \n",
       "std     39.692569    2.910391    1.514900    1.032337    1.016462    1.209620   \n",
       "min      0.000000    1.000000    1.000000    0.000000    3.000000    1.000000   \n",
       "25%     34.000000    2.000000    4.000000    4.000000    4.000000    1.000000   \n",
       "50%     68.000000    3.000000    5.000000    4.000000    4.000000    2.000000   \n",
       "75%    102.000000    4.000000    5.000000    5.000000    5.000000    2.000000   \n",
       "max    136.000000   12.000000    7.500000    7.500000    7.500000    8.000000   \n",
       "\n",
       "               P6          P7          P8          P9  ...         P29  \\\n",
       "count  137.000000  137.000000  137.000000  137.000000  ...  137.000000   \n",
       "mean     3.357664    5.423358    5.153285    5.445255  ...    3.135036   \n",
       "std      2.134235    2.296809    1.858567    1.834793  ...    1.680887   \n",
       "min      1.000000    1.000000    1.000000    4.000000  ...    0.000000   \n",
       "25%      2.000000    5.000000    4.000000    4.000000  ...    2.500000   \n",
       "50%      3.000000    5.000000    5.000000    5.000000  ...    3.000000   \n",
       "75%      4.000000    5.000000    5.000000    5.000000  ...    3.000000   \n",
       "max     10.000000   10.000000   10.000000   10.000000  ...    7.500000   \n",
       "\n",
       "              P30         P31         P32         P33         P34         P35  \\\n",
       "count  137.000000  137.000000  137.000000  137.000000  137.000000  137.000000   \n",
       "mean     2.729927    1.941606    2.525547    1.138686    2.489051    2.029197   \n",
       "std      5.536647    3.512093    5.230117    1.698540    5.165093    3.436272   \n",
       "min      0.000000    0.000000    0.000000    0.000000    0.000000    0.000000   \n",
       "25%      0.000000    0.000000    0.000000    0.000000    0.000000    0.000000   \n",
       "50%      0.000000    0.000000    0.000000    0.000000    0.000000    0.000000   \n",
       "75%      4.000000    3.000000    3.000000    2.000000    3.000000    4.000000   \n",
       "max     25.000000   15.000000   25.000000    6.000000   24.000000   15.000000   \n",
       "\n",
       "              P36         P37       revenue  \n",
       "count  137.000000  137.000000  1.370000e+02  \n",
       "mean     2.211679    1.116788  4.453533e+06  \n",
       "std      4.168211    1.790768  2.576072e+06  \n",
       "min      0.000000    0.000000  1.149870e+06  \n",
       "25%      0.000000    0.000000  2.999068e+06  \n",
       "50%      0.000000    0.000000  3.939804e+06  \n",
       "75%      3.000000    2.000000  5.166635e+06  \n",
       "max     20.000000    8.000000  1.969694e+07  \n",
       "\n",
       "[8 rows x 39 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_train.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "4f972fff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(137, 43)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "9127c490",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['Id', 'Open Date', 'City', 'City Group', 'Type', 'P1', 'P2', 'P3', 'P4',\n",
       "       'P5', 'P6', 'P7', 'P8', 'P9', 'P10', 'P11', 'P12', 'P13', 'P14', 'P15',\n",
       "       'P16', 'P17', 'P18', 'P19', 'P20', 'P21', 'P22', 'P23', 'P24', 'P25',\n",
       "       'P26', 'P27', 'P28', 'P29', 'P30', 'P31', 'P32', 'P33', 'P34', 'P35',\n",
       "       'P36', 'P37', 'revenue'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_train.columns"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3b6aa55f",
   "metadata": {},
   "source": [
    "Test Dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "0e778e79",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Id</th>\n",
       "      <th>Open Date</th>\n",
       "      <th>City</th>\n",
       "      <th>City Group</th>\n",
       "      <th>Type</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>P3</th>\n",
       "      <th>P4</th>\n",
       "      <th>P5</th>\n",
       "      <th>...</th>\n",
       "      <th>P28</th>\n",
       "      <th>P29</th>\n",
       "      <th>P30</th>\n",
       "      <th>P31</th>\n",
       "      <th>P32</th>\n",
       "      <th>P33</th>\n",
       "      <th>P34</th>\n",
       "      <th>P35</th>\n",
       "      <th>P36</th>\n",
       "      <th>P37</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>01/22/2011</td>\n",
       "      <td>Niğde</td>\n",
       "      <td>Other</td>\n",
       "      <td>FC</td>\n",
       "      <td>1</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>03/18/2011</td>\n",
       "      <td>Konya</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>10/30/2013</td>\n",
       "      <td>Ankara</td>\n",
       "      <td>Big Cities</td>\n",
       "      <td>FC</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>05/06/2013</td>\n",
       "      <td>Kocaeli</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>07/31/2013</td>\n",
       "      <td>Afyonkarahisar</td>\n",
       "      <td>Other</td>\n",
       "      <td>FC</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 42 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Id   Open Date            City  City Group Type  P1   P2   P3   P4  P5  \\\n",
       "0   0  01/22/2011           Niğde       Other   FC   1  4.0  4.0  4.0   1   \n",
       "1   1  03/18/2011           Konya       Other   IL   3  4.0  4.0  4.0   2   \n",
       "2   2  10/30/2013          Ankara  Big Cities   FC   3  4.0  4.0  4.0   2   \n",
       "3   3  05/06/2013         Kocaeli       Other   IL   2  4.0  4.0  4.0   2   \n",
       "4   4  07/31/2013  Afyonkarahisar       Other   FC   2  4.0  4.0  4.0   1   \n",
       "\n",
       "   ...  P28  P29  P30  P31  P32  P33  P34  P35  P36  P37  \n",
       "0  ...  2.0  3.0    0    0    0    0    0    0    0    0  \n",
       "1  ...  1.0  3.0    0    0    0    0    0    0    0    0  \n",
       "2  ...  2.0  3.0    0    0    0    0    0    0    0    0  \n",
       "3  ...  2.0  3.0    0    4    0    0    0    0    0    0  \n",
       "4  ...  5.0  3.0    0    0    0    0    0    0    0    0  \n",
       "\n",
       "[5 rows x 42 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_test = pd.read_csv(\"test.csv\")\n",
    "df_test.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "28f7f612",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 100000 entries, 0 to 99999\n",
      "Data columns (total 42 columns):\n",
      " #   Column      Non-Null Count   Dtype  \n",
      "---  ------      --------------   -----  \n",
      " 0   Id          100000 non-null  int64  \n",
      " 1   Open Date   100000 non-null  object \n",
      " 2   City        100000 non-null  object \n",
      " 3   City Group  100000 non-null  object \n",
      " 4   Type        100000 non-null  object \n",
      " 5   P1          100000 non-null  int64  \n",
      " 6   P2          100000 non-null  float64\n",
      " 7   P3          100000 non-null  float64\n",
      " 8   P4          100000 non-null  float64\n",
      " 9   P5          100000 non-null  int64  \n",
      " 10  P6          100000 non-null  int64  \n",
      " 11  P7          100000 non-null  int64  \n",
      " 12  P8          100000 non-null  int64  \n",
      " 13  P9          100000 non-null  int64  \n",
      " 14  P10         100000 non-null  int64  \n",
      " 15  P11         100000 non-null  int64  \n",
      " 16  P12         100000 non-null  int64  \n",
      " 17  P13         100000 non-null  float64\n",
      " 18  P14         100000 non-null  int64  \n",
      " 19  P15         100000 non-null  int64  \n",
      " 20  P16         100000 non-null  int64  \n",
      " 21  P17         100000 non-null  int64  \n",
      " 22  P18         100000 non-null  int64  \n",
      " 23  P19         100000 non-null  int64  \n",
      " 24  P20         100000 non-null  int64  \n",
      " 25  P21         100000 non-null  int64  \n",
      " 26  P22         100000 non-null  int64  \n",
      " 27  P23         100000 non-null  int64  \n",
      " 28  P24         100000 non-null  int64  \n",
      " 29  P25         100000 non-null  int64  \n",
      " 30  P26         100000 non-null  float64\n",
      " 31  P27         100000 non-null  float64\n",
      " 32  P28         100000 non-null  float64\n",
      " 33  P29         100000 non-null  float64\n",
      " 34  P30         100000 non-null  int64  \n",
      " 35  P31         100000 non-null  int64  \n",
      " 36  P32         100000 non-null  int64  \n",
      " 37  P33         100000 non-null  int64  \n",
      " 38  P34         100000 non-null  int64  \n",
      " 39  P35         100000 non-null  int64  \n",
      " 40  P36         100000 non-null  int64  \n",
      " 41  P37         100000 non-null  int64  \n",
      "dtypes: float64(8), int64(30), object(4)\n",
      "memory usage: 32.0+ MB\n"
     ]
    }
   ],
   "source": [
    "df_test.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "c6b88125",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Id</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>P3</th>\n",
       "      <th>P4</th>\n",
       "      <th>P5</th>\n",
       "      <th>P6</th>\n",
       "      <th>P7</th>\n",
       "      <th>P8</th>\n",
       "      <th>P9</th>\n",
       "      <th>...</th>\n",
       "      <th>P28</th>\n",
       "      <th>P29</th>\n",
       "      <th>P30</th>\n",
       "      <th>P31</th>\n",
       "      <th>P32</th>\n",
       "      <th>P33</th>\n",
       "      <th>P34</th>\n",
       "      <th>P35</th>\n",
       "      <th>P36</th>\n",
       "      <th>P37</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.00000</td>\n",
       "      <td>100000.00000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "      <td>100000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>49999.500000</td>\n",
       "      <td>4.088030</td>\n",
       "      <td>4.428085</td>\n",
       "      <td>4.215325</td>\n",
       "      <td>4.396025</td>\n",
       "      <td>1.989590</td>\n",
       "      <td>2.881900</td>\n",
       "      <td>5.30051</td>\n",
       "      <td>4.93100</td>\n",
       "      <td>5.251380</td>\n",
       "      <td>...</td>\n",
       "      <td>3.233785</td>\n",
       "      <td>3.084000</td>\n",
       "      <td>2.083300</td>\n",
       "      <td>1.193330</td>\n",
       "      <td>1.942640</td>\n",
       "      <td>0.987430</td>\n",
       "      <td>2.108670</td>\n",
       "      <td>1.832830</td>\n",
       "      <td>1.968890</td>\n",
       "      <td>0.973500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>28867.657797</td>\n",
       "      <td>2.812963</td>\n",
       "      <td>1.428865</td>\n",
       "      <td>0.842161</td>\n",
       "      <td>1.035827</td>\n",
       "      <td>1.065314</td>\n",
       "      <td>1.531429</td>\n",
       "      <td>2.17858</td>\n",
       "      <td>1.71849</td>\n",
       "      <td>1.702632</td>\n",
       "      <td>...</td>\n",
       "      <td>2.136694</td>\n",
       "      <td>1.783927</td>\n",
       "      <td>4.309479</td>\n",
       "      <td>2.307944</td>\n",
       "      <td>3.971298</td>\n",
       "      <td>1.534808</td>\n",
       "      <td>4.685414</td>\n",
       "      <td>3.228769</td>\n",
       "      <td>3.805773</td>\n",
       "      <td>1.677267</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.00000</td>\n",
       "      <td>1.00000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>24999.750000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>3.750000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>5.00000</td>\n",
       "      <td>4.00000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>49999.500000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>5.00000</td>\n",
       "      <td>5.00000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>74999.250000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>5.00000</td>\n",
       "      <td>5.00000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>99999.000000</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>7.500000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>7.500000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>10.00000</td>\n",
       "      <td>10.00000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>12.500000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>25.000000</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>25.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>30.000000</td>\n",
       "      <td>15.000000</td>\n",
       "      <td>20.000000</td>\n",
       "      <td>8.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8 rows × 38 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                  Id             P1             P2             P3  \\\n",
       "count  100000.000000  100000.000000  100000.000000  100000.000000   \n",
       "mean    49999.500000       4.088030       4.428085       4.215325   \n",
       "std     28867.657797       2.812963       1.428865       0.842161   \n",
       "min         0.000000       1.000000       1.000000       0.000000   \n",
       "25%     24999.750000       2.000000       3.750000       4.000000   \n",
       "50%     49999.500000       3.000000       5.000000       4.000000   \n",
       "75%     74999.250000       4.000000       5.000000       4.000000   \n",
       "max     99999.000000      15.000000       7.500000       6.000000   \n",
       "\n",
       "                  P4             P5             P6            P7  \\\n",
       "count  100000.000000  100000.000000  100000.000000  100000.00000   \n",
       "mean        4.396025       1.989590       2.881900       5.30051   \n",
       "std         1.035827       1.065314       1.531429       2.17858   \n",
       "min         2.000000       1.000000       1.000000       1.00000   \n",
       "25%         4.000000       1.000000       2.000000       5.00000   \n",
       "50%         4.000000       2.000000       2.000000       5.00000   \n",
       "75%         5.000000       2.000000       4.000000       5.00000   \n",
       "max         7.500000       6.000000      10.000000      10.00000   \n",
       "\n",
       "                 P8             P9  ...            P28            P29  \\\n",
       "count  100000.00000  100000.000000  ...  100000.000000  100000.000000   \n",
       "mean        4.93100       5.251380  ...       3.233785       3.084000   \n",
       "std         1.71849       1.702632  ...       2.136694       1.783927   \n",
       "min         1.00000       4.000000  ...       1.000000       0.000000   \n",
       "25%         4.00000       4.000000  ...       2.000000       2.000000   \n",
       "50%         5.00000       5.000000  ...       3.000000       3.000000   \n",
       "75%         5.00000       5.000000  ...       4.000000       3.000000   \n",
       "max        10.00000      10.000000  ...      12.500000      10.000000   \n",
       "\n",
       "                 P30            P31            P32            P33  \\\n",
       "count  100000.000000  100000.000000  100000.000000  100000.000000   \n",
       "mean        2.083300       1.193330       1.942640       0.987430   \n",
       "std         4.309479       2.307944       3.971298       1.534808   \n",
       "min         0.000000       0.000000       0.000000       0.000000   \n",
       "25%         0.000000       0.000000       0.000000       0.000000   \n",
       "50%         0.000000       0.000000       0.000000       0.000000   \n",
       "75%         3.000000       1.000000       3.000000       2.000000   \n",
       "max        25.000000      15.000000      25.000000       6.000000   \n",
       "\n",
       "                 P34            P35            P36            P37  \n",
       "count  100000.000000  100000.000000  100000.000000  100000.000000  \n",
       "mean        2.108670       1.832830       1.968890       0.973500  \n",
       "std         4.685414       3.228769       3.805773       1.677267  \n",
       "min         0.000000       0.000000       0.000000       0.000000  \n",
       "25%         0.000000       0.000000       0.000000       0.000000  \n",
       "50%         0.000000       0.000000       0.000000       0.000000  \n",
       "75%         3.000000       4.000000       3.000000       2.000000  \n",
       "max        30.000000      15.000000      20.000000       8.000000  \n",
       "\n",
       "[8 rows x 38 columns]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_test.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "2f21d950",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(100000, 42)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "a37af1a0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['Id', 'Open Date', 'City', 'City Group', 'Type', 'P1', 'P2', 'P3', 'P4',\n",
       "       'P5', 'P6', 'P7', 'P8', 'P9', 'P10', 'P11', 'P12', 'P13', 'P14', 'P15',\n",
       "       'P16', 'P17', 'P18', 'P19', 'P20', 'P21', 'P22', 'P23', 'P24', 'P25',\n",
       "       'P26', 'P27', 'P28', 'P29', 'P30', 'P31', 'P32', 'P33', 'P34', 'P35',\n",
       "       'P36', 'P37'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_test.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "50eebd8d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Id            0\n",
       "Open Date     0\n",
       "City          0\n",
       "City Group    0\n",
       "Type          0\n",
       "P1            0\n",
       "P2            0\n",
       "P3            0\n",
       "P4            0\n",
       "P5            0\n",
       "P6            0\n",
       "P7            0\n",
       "P8            0\n",
       "P9            0\n",
       "P10           0\n",
       "P11           0\n",
       "P12           0\n",
       "P13           0\n",
       "P14           0\n",
       "P15           0\n",
       "P16           0\n",
       "P17           0\n",
       "P18           0\n",
       "P19           0\n",
       "P20           0\n",
       "P21           0\n",
       "P22           0\n",
       "P23           0\n",
       "P24           0\n",
       "P25           0\n",
       "P26           0\n",
       "P27           0\n",
       "P28           0\n",
       "P29           0\n",
       "P30           0\n",
       "P31           0\n",
       "P32           0\n",
       "P33           0\n",
       "P34           0\n",
       "P35           0\n",
       "P36           0\n",
       "P37           0\n",
       "revenue       0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Looking for null data\n",
    "df_train.isnull().sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f36db967",
   "metadata": {},
   "source": [
    "## Comparing Train and Test Datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "7a076e05",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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AMBACPgAAACAgRDwAQAAAAMh4AMAAAAGQsAHAAAADISADwAAABgIH5MJoEP05G9t7Ax8EyQA4GIR8AFcsp7+rY2dgW+CBABcrMsy4FdWVurxxx/Xrl275ObmphkzZmjx4sVyd78sywV6vJ78rY2doSd9EyT9HgA63mXZQRcuXCh/f39t375dFRUViouLU1ZWlu677z5XlwbgPPjWRjiLfg/g23rylM+Omp552QX8L774Qrt27dK2bdtksVg0ePBgxcfHa82aNTR8ADAQ+j2AbzObTbL6WGR265lTPttaW1Vdc+nTMy+7gF9aWiofHx/5+/vblw0bNkyHDx/WV199pSuuuKJd+zGbJVs7zs2Iq3xl6XXZnYZu6bt+/7025g7+fKZeA6+VycPSsTvtoTz6D7X/d0dfpyC/IHm6e3bsTnugIT5D7P99oWtk6sY3ubqq3/fUPt8RPbmn9t6O6pM9sSc607/Oxmw2yezmpoN//KO+PnqsAyu7/PX2v1JD7rzz///24sym5ky/v+w6XkNDgywWx2Zy+nljY2O7G76vr3e71nv8jonOFYgLslq9Onyf/Wc82eH77Ok64zo9etOjHb7PnqwzrtHlpKv6fU/v85fy76in995LfQ/25J54qeduyJ13dlAl3U9H9P7L7nPw+/TpoxMnTjgsO/3cy8vYP+wAoCeh3wNA57jsAn5gYKBqampUUVFhX3bgwAENHDhQ3t7tuysPALj80e8BoHNcdgF/6NChCg0NVWpqqurr61VeXq709HTNmjXL1aUBADoQ/R4AOofJZmvPn6J2rYqKCi1fvlxFRUUym82KjIxUYmKi3HroX1QDgFHR7wGg412WAR8AAADAxbnspugAAAAAuHgEfAAAAMBACPgAAACAgRDwAQAAAAO57L7JFtKcOXM0btw4jRs3Tj/72c+0f/9+V5cESVOnTtXx48fl7u74tgkJCVFmZqZOnjypF198UW+++aYOHz6s3r176/rrr9dDDz2k6667zkVV9zzfvk42m03f/e53dddddykmJka///3v9dxzz0mSWltb9fXXX6tPnz727Z988knNmDHDJbWj+6EvdBx+9rUffe7iDB8+XJL01ltv6ZprrnEYe/HFF7Vq1So99NBD+vnPf67f/va3Sk9Pl6enpySpra1N/v7+uvvuuxUbG9vltTuLgA844cknn1RUVNQZy7/++mvNmTNHvXr10urVqzVixAidOHFCL730ku666y794Q9/UHBwsAsq7pm+eZ1Onjyp999/X48++qiqq6v14IMP6sEHH5QkFRUV6Wc/+5n27NnjynLRzdEX4Ar0uYtjtVqVl5enX/3qVw7LN23apL59+zosGzt2rF5++WVJp/4naufOnZo/f76GDRum8ePHd1nNF4OAD3SAl19+WYcOHVJBQYG9QXh5eSkuLk5fffWV/vnPf/KD3EV69eqlm2++WTU1NXrqqad05513ntHEgc5AX0BXoc+1X0REhF5//XU9/PDDMptPzVTfu3evTp48qZEjR55zO5PJpIkTJyooKEiffvrpZR/wmYMPdIB3331XN95441kb6uLFi/lmzsvAjTfeqK+//loff/yxq0tBD0FfQFejz13YjTfeqObmZn344Yf2Zbm5uRd8P9psNu3atUuHDh3SlClTOrvMS8YdfMAJTz75pFJTUx2Wbdu2TVVVVfr+97/voqrQHlarVZJUU1Pj2kJgOPQFXC7ocxfm7u6uiIgI5eXlafLkyWpqatLWrVv15ptvatu2bQ7rfvTRRxo7dqwkqampSc3NzZoxY4a++93vuqJ0pxDwAScsXbr0rHNtBwwYoGPHjp11m9raWlksFvXq1auzy8N5VFVVSZL69+/v4kpgNPQFXC7oc+0TFRWl2bNnq76+Xm+//bbGjBmjAQMGnLFeaGiofQ6+JP3zn/9UYmKiEhMTlZaW1pUlO40pOkAHmDp1qrZt26b6+vozxpYsWaK4uDgXVIVvevfdd9WnTx9df/31ri4FPQR9AV2NPtc+I0aM0DXXXKO33npLmzZtavd0uaCgIMXExJxxp/9yRMDvBo4cOeLwONcdIbjOnXfeKT8/P8XFxWnfvn2y2Wyqrq7W008/rR07dmjBggWuLrHHOnnypDZv3qzf/OY3evjhh/nDM3QZ+sKl4Wdf+9HnnBcVFaWsrCx9/vnn7Z5Tf+TIEb3xxhsKDQ3t5OouHVN0uoFv/8Pz8/PTjh07XFQNzqZ3797Kzs7W7373Oy1YsEAVFRXy9PTU6NGj9corr/B5111s6dKlWrFihaRT1+aaa67Rk08+qR/96Ecurgw9CX3h0vCz7/zoc5fm9ttv1+rVq3X33Xef8T0Wp+3evVshISH25xaLRVOmTNHixYu7qsyLZrLZbDZXFwEAAACgYzBFBwAAADAQAj4AAABgIAR8AAAAwEAI+AAAAICBEPABAAAAAyHgAwAAAAZCwAcAAAAMhIAPAAAAGAjfZAt8yxNPPKH8/HxJUktLi5qbm2WxWOzj69ev19ixY11VHgCgg9DvYVR8ky1wHps2bdK6dev07rvvuroUAEAnot/DSJiiAzjh1ltv1e9//3uHZREREcrNzdWmTZt0xx136IknntCYMWM0efJkpaen6/T/Q588eVLPPvuspk2bpnHjxun+++/XF1984YqXAQC4APo9ujMCPuCEqKgovf766/bnn376qQ4dOqRbb71VklRSUiKLxaKdO3cqIyNDf/jDH5SbmytJeuaZZ/T+++8rKytL27dv1/XXX6977rlHX3/9tUteCwDg3Oj36M4I+IATIiMjdfDgQX3yySeSpD//+c+65ZZb5OXlJUny8fFRYmKievfurVGjRmn27Nl64403ZLPZtHHjRv3yl7/U4MGD1bt3byUkJKi5uVnvv/++C18RAOBs6PfozvgjW8AJAwYM0A9+8AO9/vrrGjFihN5880399re/tY9fffXV8vDwsD8fNGiQtm7dqqqqKjU2NuoXv/iFzOb//n91c3Ozvvzyyy59DQCAC6Pfozsj4ANOio6O1pNPPqlJkybJ29tb3//+9+1jx44dk81mk8lkkiQdOnRIV111laxWq3r37q3MzEyNHj3avv6//vUv+fv7d/VLAAC0A/0e3RVTdAAn3XjjjWptbVVaWpqioqIcxo4fP67nn39ezc3N2rt3r3JychQTEyOz2axZs2bp6aef1pEjR9TW1qa8vDzdfvvt/OEVAFym6PforriDDzjJw8NDM2bM0EsvvaSMjAyHsQEDBujQoUOaPHmyvLy89Itf/EI/+tGPJEmLFy/Wb3/7W915552qqanR4MGDlZaWppEjR7riZQAALoB+j+6Kz8EHLsJLL72kbdu2acOGDfZlfIYyABgP/R7dEVN0ACccP35ce/fu1R/+8Af99Kc/dXU5AIBOQr9Hd0bAB5zw/vvva86cOZo0aZKmTZvm6nIAAJ2Efo/ujCk6AAAAgIFwBx8AAAAwEAI+AAAAYCAEfAAAAMBACPgAAACAgRDwAQAAAAMh4AMAAAAGQsAHAAAADISADwAAABjI/wPgHVrglg2ZhQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 900x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots(1,2,figsize=(9,5))\n",
    "sns.countplot(data=df_train, x='Type',ax=ax[0])\n",
    "ax[0].set_title('Train set')\n",
    "sns.countplot(data=df_test, x='Type',ax=ax[1])\n",
    "ax[1].set_title('Test set');"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ac9b66e1",
   "metadata": {},
   "source": [
    "- DT: Drive Through\n",
    "- FC: Food Court\n",
    "- IL: Inline\n",
    "- MB: Mobile"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b5a9296b",
   "metadata": {},
   "source": [
    "## Data Analysis and Pre-processing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "b4c8d6b0",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_train['Open Date'] = pd.to_datetime(df_train['Open Date'], format= '%m/%d/%Y')\n",
    "df_train['Days Open'] = \"\"\n",
    "\n",
    "dateLastTrain = pd.DataFrame({'Date':np.repeat(['01/01/2023'],[len(df_train)]) })\n",
    "dateLastTrain['Date'] = pd.to_datetime(dateLastTrain[\"Date\"], format= '%m/%d/%Y')\n",
    "\n",
    "df_train['Days Open'] = dateLastTrain['Date'] - df_train['Open Date'] \n",
    "df_train['Days Open'] = df_train['Days Open'].astype('timedelta64[D]').astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "2e1d90a1",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Id</th>\n",
       "      <th>Open Date</th>\n",
       "      <th>City</th>\n",
       "      <th>City Group</th>\n",
       "      <th>Type</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>P3</th>\n",
       "      <th>P4</th>\n",
       "      <th>P5</th>\n",
       "      <th>...</th>\n",
       "      <th>P30</th>\n",
       "      <th>P31</th>\n",
       "      <th>P32</th>\n",
       "      <th>P33</th>\n",
       "      <th>P34</th>\n",
       "      <th>P35</th>\n",
       "      <th>P36</th>\n",
       "      <th>P37</th>\n",
       "      <th>revenue</th>\n",
       "      <th>Days Open</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1999-07-17</td>\n",
       "      <td>İstanbul</td>\n",
       "      <td>Big Cities</td>\n",
       "      <td>IL</td>\n",
       "      <td>4</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>5653753.0</td>\n",
       "      <td>8569</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>2008-02-14</td>\n",
       "      <td>Ankara</td>\n",
       "      <td>Big Cities</td>\n",
       "      <td>FC</td>\n",
       "      <td>4</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6923131.0</td>\n",
       "      <td>5435</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>2013-03-09</td>\n",
       "      <td>Diyarbakır</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2055379.0</td>\n",
       "      <td>3585</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>2012-02-02</td>\n",
       "      <td>Tokat</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>6</td>\n",
       "      <td>4.5</td>\n",
       "      <td>6.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>25</td>\n",
       "      <td>12</td>\n",
       "      <td>10</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>6</td>\n",
       "      <td>2675511.0</td>\n",
       "      <td>3986</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>2009-05-09</td>\n",
       "      <td>Gaziantep</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>4316715.0</td>\n",
       "      <td>4985</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 44 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Id  Open Date        City  City Group Type  P1   P2   P3   P4  P5  ...  \\\n",
       "0   0 1999-07-17    İstanbul  Big Cities   IL   4  5.0  4.0  4.0   2  ...   \n",
       "1   1 2008-02-14      Ankara  Big Cities   FC   4  5.0  4.0  4.0   1  ...   \n",
       "2   2 2013-03-09  Diyarbakır       Other   IL   2  4.0  2.0  5.0   2  ...   \n",
       "3   3 2012-02-02       Tokat       Other   IL   6  4.5  6.0  6.0   4  ...   \n",
       "4   4 2009-05-09   Gaziantep       Other   IL   3  4.0  3.0  4.0   2  ...   \n",
       "\n",
       "   P30  P31  P32  P33  P34  P35  P36  P37    revenue  Days Open  \n",
       "0    5    3    4    5    5    4    3    4  5653753.0       8569  \n",
       "1    0    0    0    0    0    0    0    0  6923131.0       5435  \n",
       "2    0    0    0    0    0    0    0    0  2055379.0       3585  \n",
       "3   25   12   10    6   18   12   12    6  2675511.0       3986  \n",
       "4    5    1    3    2    3    4    3    3  4316715.0       4985  \n",
       "\n",
       "[5 rows x 44 columns]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "9710338d",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_test = df_test.fillna(np.nan)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "935fee4d",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_test['Open Date'] = pd.to_datetime(df_test['Open Date'], format= '%m/%d/%Y')\n",
    "df_test['Days Open'] = \"\"\n",
    "\n",
    "dateLastTest = pd.DataFrame({'Date':np.repeat(['01/01/2023'],[len(df_test)]) })\n",
    "dateLastTest['Date'] = pd.to_datetime(dateLastTest[\"Date\"], format= '%m/%d/%Y')\n",
    "\n",
    "df_test['Days Open'] = dateLastTest['Date'] - df_test['Open Date'] \n",
    "df_test['Days Open'] = df_test['Days Open'].astype('timedelta64[D]').astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "90d1aada",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Id</th>\n",
       "      <th>Open Date</th>\n",
       "      <th>City</th>\n",
       "      <th>City Group</th>\n",
       "      <th>Type</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>P3</th>\n",
       "      <th>P4</th>\n",
       "      <th>P5</th>\n",
       "      <th>...</th>\n",
       "      <th>P29</th>\n",
       "      <th>P30</th>\n",
       "      <th>P31</th>\n",
       "      <th>P32</th>\n",
       "      <th>P33</th>\n",
       "      <th>P34</th>\n",
       "      <th>P35</th>\n",
       "      <th>P36</th>\n",
       "      <th>P37</th>\n",
       "      <th>Days Open</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>2011-01-22</td>\n",
       "      <td>Niğde</td>\n",
       "      <td>Other</td>\n",
       "      <td>FC</td>\n",
       "      <td>1</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4362</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>2011-03-18</td>\n",
       "      <td>Konya</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4307</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>2013-10-30</td>\n",
       "      <td>Ankara</td>\n",
       "      <td>Big Cities</td>\n",
       "      <td>FC</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>2013-05-06</td>\n",
       "      <td>Kocaeli</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3527</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>2013-07-31</td>\n",
       "      <td>Afyonkarahisar</td>\n",
       "      <td>Other</td>\n",
       "      <td>FC</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3441</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 43 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Id  Open Date            City  City Group Type  P1   P2   P3   P4  P5  ...  \\\n",
       "0   0 2011-01-22           Niğde       Other   FC   1  4.0  4.0  4.0   1  ...   \n",
       "1   1 2011-03-18           Konya       Other   IL   3  4.0  4.0  4.0   2  ...   \n",
       "2   2 2013-10-30          Ankara  Big Cities   FC   3  4.0  4.0  4.0   2  ...   \n",
       "3   3 2013-05-06         Kocaeli       Other   IL   2  4.0  4.0  4.0   2  ...   \n",
       "4   4 2013-07-31  Afyonkarahisar       Other   FC   2  4.0  4.0  4.0   1  ...   \n",
       "\n",
       "   P29  P30  P31  P32  P33  P34  P35  P36  P37  Days Open  \n",
       "0  3.0    0    0    0    0    0    0    0    0       4362  \n",
       "1  3.0    0    0    0    0    0    0    0    0       4307  \n",
       "2  3.0    0    0    0    0    0    0    0    0       3350  \n",
       "3  3.0    0    4    0    0    0    0    0    0       3527  \n",
       "4  3.0    0    0    0    0    0    0    0    0       3441  \n",
       "\n",
       "[5 rows x 43 columns]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_test.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3371e591",
   "metadata": {},
   "source": [
    "## Sorting the cities by revenue"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "d4034f4d",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: title={'center': 'Descending Order of Revenues'}, xlabel='City', ylabel='revenue'>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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RXFxcSpVqpTdl+MEVatWldVq1c6dOxMN8n5vkJMgT548kmR3EYBffvlFkhQSEpJo/uLFi+upp55KND05Sa03b968duu12Wzavn27XFxcVKNGjUTz16pVyy4cTE58fLwkJRlE3U/Csm1JjLXl5+eXaFpy2yhnzpwqW7as3bRz587pn3/+UZYsWZIML/LmzatixYrp2rVr2r9/v91tTz/9tDw8PFL0OH7//XfFxMSoRIkSSZ7S+PTTTysgIEC3bt3S3r17U7TM5Pj5+SksLExhYWF6+eWXVaBAAUl394lBgwZpy5Yt6tSpk9199u3bp2vXrunZZ581ngf3CggIUM6cOXXkyBEjTA4JCZGPj482btxoF94lhGL3BpGRkZGSkt5XJalatWp2890rMDAw0bSEfeTmzZv32QoPtn379mRrSngeJdT03HPPycfHR7/99puaNWumOXPm6OjRo5Lubp9XX31Vzz777EPXAwDA48TV2QUAAJCRXb58WZKULVs24++EL8AJ4db9/Pvvv5KkunXrat++fZo5c6aWLVumZcuWydXVVWXLltVLL72k8PBwZcqUSdL/HTWWMIh4Spa/YcOGZAeJv3nzpq5cuWJ3lE3C47lXQviTEBxJdwMb6f5XCnzqqafuO+ZVUlKy3suXL+vGjRvKmTNnkleY9PT0VI4cOYxtlZyEYOXy5cuKj49P9sipBPc7cu9+9adkG90bspw5c0bS3fHcHjS4/7///msXHCa1/vtJqCshjLpfbXv27DHmfRS1a9fW22+/bfwdFxensWPHatq0aZo0aZLKly+fKERMeA7/+eefKdoWuXPnlru7u+rWrav58+dr/fr1euWVVxQbG6vvv/9e3t7extFa9y6/W7duyS47oSf3SjgK9F6urnc/mt+7j6RWQk0J43w9qCZPT09NmDBBvXr10t69e43AsmDBgqpVq5aaN29ud7QkAABPMkIwAACcKOHqfglf0BOOqHJ3d1edOnWSvW+hQoWM//fu3Vtt2rTRunXrtHnzZu3cuVM7duzQjh07jKO7fHx8UjXgdsIX8aJFi9qdlulIyQ26Lv1fKOCo5UkytkFyQUNSR2klJU+ePMqdO7fOnz+vAwcOqGTJkg+8T8KFAZLapknVn9ptlPAc8vHxUdWqVZO9b8KpmSld170StlFy90mYJ6WniqaGi4uLevfurWPHjumHH35Qx44dtXLlSvn4+BjzJPQ4f/78KleuXLLLu/d03wYNGmj+/Plau3atXnnlFW3evFlXrlxReHi43ZFyCdu6Ro0a8vb2vu+yEy5wcK/UbOv7Seo5nDCtYsWKxpFlSbk3tK5YsaLWr1+vTZs2acOGDdq2bZtOnDihmTNnau7cuRo/frxq1qz5yPUCAOBspgjBLl26pGbNmmnYsGGqWLFiiu6zbt06TZw4USdPnlTu3LnVuXNnhYeHp3GlAADY+/nnnyVJlSpVknQ3uHBzc9OdO3c0fPjwVIUHvr6+ateundq1a6fbt29r27ZtGjp0qA4fPqxFixapU6dOxpfipMajku5epfLChQsKDg42ApLixYtr9OjRj/Ao7y9v3rz666+/dOrUqSSDAkccQfRf2bNnV6ZMmXTlyhXduHEj0amet27dshujLTkWi0VhYWGaMWOGFi5caIwxdT937twxxmJKGKvsQRKONrvfEXH/3UYJfcuUKVOa9U36v1P3kjtS78SJE5Lujr+VVoYOHapdu3bpzJkzGjp0qMaMGWPclrAtfH19U7UtypQpo8KFC2vLli2Kjo7W2rVrJdmfCind3QZHjx5V27ZtjX3Y0e49Vfq/Eo4kvVfCYw4LC9Orr76a4vW4u7urVq1aqlWrliTp8OHD+uKLL7Rq1Sp9+umnhGAAAFN44scE27lzp5o1a6bjx4+n+D7bt29X37591bt3b+3evVtDhw7VRx995JDxKgAASKm1a9fqn3/+ka+vr6pXry7p7hfRMmXKKD4+Xps3b050H5vNptdee03Nmzc33rd69uyp4OBgnTp1ypjPzc1N1apVMwajTzhFKuFomKSWLUljx45Vr169FBUVpfLly0u6OyZVUmMU7du3Ty+99JK6d++e4iOn/ishOEhq4PATJ07o77//fqjlJsfV1VXlypVTfHy8Nm3alOj2jRs3Jhk43M9rr72mbNmyafHixUku716jR4/WiRMnVLJkSVWpUiVFy0/YRj/++GOi26Kjo40xwxI89dRTyp8/v86ePWscaXivmzdvqnHjxmrdunWqTjX9r+eff16enp7av3+/EXbd6/jx49q3b5+8vLz0/PPPP/R6HiR79uzq37+/JGnNmjXasmWLcVtAQIA8PDx08ODBJAPVs2fP6uWXX1b79u0TDd7foEED3b59Wz/88IM2bNigAgUKGPtEgoS/N27cmGRtY8aMUePGjbV48eKHfnwJR6glXIThXrt370407UE1zZs3Tw0aNNDkyZMl3R3r7MUXX9SUKVPs5itSpIgGDRokKenTOQEAeBI90SHY8uXL1atXL7377ruJbouIiFB4eLiCgoJUr149rVq1yrht1qxZatu2rUJCQmSxWBQcHKylS5cmOagrAACOZrPZ9O2332rgwIGSpAEDBtgd8fXaa69JunuEy70Dl8fHx+uzzz4zTlVKuLJczpw5FRUVpVGjRtld7S8mJsYIl0qVKiVJCg4O1nPPPaf9+/friy++sKtr3rx52rt3r4oVKyY/Pz8VLFhQNWvW1JkzZ9S/f39jsH3p7hfyDz74QEeOHJGvr+9Dn9rVqFEj+fj4aOnSpVq3bp0xPTo6Wh988MEjjY2UnLZt20qSRo0aZRfgnDhxQp988kmqlpU3b14NGTJEFotFb731lr7++utEV128dOmS+vXrp5kzZ8rLy0tjxoxJ8eD7oaGhKlSokCIiIjRr1ixjemxsrAYNGmTXlwQJV0h8//337X4ojI2N1UcffaR9+/YpOjo61RceuJenp6eaNm1qXJXx0qVLxm2XLl3Se++9p/j4eDVp0iTJsdccqV69eqpcubIkaciQIcb29/LyUtOmTXXjxg317t3bLki6fv26+vXrp3/++UdeXl52p0NKd4/Us1gs+uyzz3Tjxg2FhYUlep43a9ZMXl5emjt3bqKrSf7000+aOXOm9u3b90ghYMKp0itWrNDVq1eN6Tt27NDChQsTzV+3bl3lyZNHP/zwg2bOnGkXUO/du1efffaZDh48aIyfVqRIER0/flxff/21/vnnH7tlJXx+5uqQAACzeKJPh6xSpYrCwsLk6upqF4QdPHhQXbt2NQ7d3rNnj958801lz55dVatW1d69e1WxYkV16tRJe/bska+vr95+++0kr8gEAMDDioqKUq9evYy/4+PjdfXqVR08eFDnz5+Xi4uLBg4cqBdffNHufrVq1dLrr7+uGTNm6NVXX1XJkiWVJ08eHTx4UCdOnDAGsk4Izt5880399NNP+u6777Rz507jC/fevXt18eJFVahQQfXr15d099SqMWPG6LXXXtO4ceO0cuVKPffcczp27JgOHjwob29vjRs3zqhl6NChOnbsmL755htt3bpVAQEBslgs+vXXX3Xjxg0FBgbqnXfe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evXqKlWqlOrWrauffvopyfsnd1bJpEmTVLVqVf3999+SpH379hmvy7Vr19asWbOM/Te5fezefXHixIl6/fXX1aRJE1WoUEG//PKLw7aFmdhsNg0bNkxff/21Zs+ebReA7dq1S23btlWVKlUUEBCgxo0b67fffpMkdejQQQMHDrRbVufOnTV+/Pj7fr9NEBERofDwcAUFBSU6Yr5v377q3r27Xn75ZQUHB+v48eOPdDaTmSS8P4wYMUJFihSRi4uLfHx81KBBAw0ePFi3b9+WzWbT1KlTFRYWpqCgIJUvX149e/ZUTEyMJCkoKMjuc02JEiWM4Ozeo+NT8n715ZdfqmHDhgoMDFTDhg21fft2SdLrr79uHLGWEEwnt09PnDhRb775pt5++22VKVNGoaGhWrhwYbpt19QgBHOQlStXavfu3fr2228VERFhfHB3cXHRmjVrJElr1qxR3bp19fXXX2vz5s36+uuvtXv3bk2ePFkLFiwwnnCStGjRIvXv31+RkZGqXbu2Bg0aZPfhc+PGjZo2bZrWr1+v27dvq1evXun+mJHYgAED5Obmpm+++Ua7du1S69atNXToUF2/fl1169bV7t27jX+tWrVS4cKF9dprryVazsmTJ9WlSxe1aNFCO3bsUK9evR7bFxGzeffdd+Xq6qpNmzZp7ty52rRpU7LzHz9+XD///LNGjRol6e4HjZw5c2rz5s368ssvtXbtWn3//feSpPnz52vmzJkaP368tm3bpsaNG6t9+/a6cOFCmj+ujGjQoEHG/hYZGanSpUsbH8YkaefOncqbN6+2b9+u7t27a8SIEYqMjNTatWs1a9YsLVmy5L4ftiMiIrRgwQKtWrVK3t7e6fmwMozr169r69atevfdd1P0vrl+/Xp1795dERERCgkJUceOHXX16tVkX3ujoqLUtm1bFS1aVJs2bdLSpUt15MgRvf/++8Zyk9unn3Rz5sxR06ZN5eHhoZYtW2rGjBmS7n556dy5s4KCgrR792516tRJLi4uWr9+vXHfFStWqFGjRrJYLOrevbuOHz+u5cuXa+PGjXr22Wf12muv2QXEP//8s1asWKF169bpwoULmjx5sl0tMTEx6tq1q2w2m6ZPny5vb+8U9f3efTE6Olo9evRQp06dtG3bNv3888+y2Wz6/PPPjfnPnj2rrFmz6scff9SiRYu0Zs0afffd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tkT9jIuLS/R4BwwYoC+//FLTp09X3759VaxYMQ0YMEBBQUG6ePGiPv74Y+3fv19PPfWU8Rp+v7rMJrnnTqdOnSTd/300JT1Kbp9LybZHYl988YUxJlhMTIzmzZundu3aaeHChSpZsqQOHjyoN998U+fPn1eRIkWUI0eOVL3O/fXXX/Lx8dHq1auN58CpU6e0b98+BQUFGfPFx8cbr7fJ7WP/Zeb9yRFKly6tUaNGKSIiQl27dlXx4sWNI/1cXFwUGRmpjh076saNGypatKjda/C9P3K89NJLWr58uV5//XVJyX+/PXXqlLZv327Xr7i4OLv9nb4llvAd/+zZs3rmmWckSS+88IJxwYCEcVJtNpvGjRunn376STly5FDx4sWN0yQTXLp0SW+88Ybq169/31OUU/Kamdz7870etE9LUuHChe3uky9fPh04cOCB2yW9EYI5yJEjR1SyZEk1bNhQMTEx+u6779SnTx8FBQXJ09PTbt4BAwYoW7Zs2rJlizJlyqT4+HiVL18+Ves7d+6cihUrJulu8CLd/eD+zz//SLr7q6q7u7ukuwPaZc+e/VEfIh7g9u3b6ty5s9577z21bNlSFotFf/zxh91RPrt27VLv3r01cuRIlSlT5r7LKlCgQKJBou93RAocJ+FXmRMnTqhIkSKSlOS4Nfe694N6SpbfvXt31atXz5h2/PjxJI8GhGPMnDlTK1eu1MKFC5UjRw6721LTu/96lPsiZe7dxil537z3V834+HidPn3a+DHhfq+9BQoU0OnTpxUXF2d8iEs4Kih37tzGe6rZ3Lp1S0uWLNHHH3+sSpUqGdMPHTqkTp066fDhw4nu8/zzz6to0aJat26dvvnmG+MDd8I2Pn78uJ577jlJd78InT592u4HveTkyZNHX331lUaNGqW+fftqxYoV8vLySlHf732efPvtt5o7d67+97//GT9CDR06VIcOHUrF1rlr//79atasmd5++21dunRJn3/+ubp166bt27erR48eCg0N1fTp0+Xq6qqoqCgtWrTovnWZyYOeOx06dJB0//fRR+1RSrY9kufh4aEOHTpo6tSpioiIUK5cudSjRw9NmjTJuHrqunXrUnXa97hx43T06FF1795dISEh8vf3l6+vrypWrKjp06cb80VFRen69euSkt/H/sus+5OjtGjRQu7u7qpevbo6deqkPn36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",
      "text/plain": [
       "<Figure size 1500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Top 10\n",
    "compareCity = df_train[[\"City\", \"revenue\"]].groupby(['City'],as_index = False).mean()\n",
    "df_train_new = compareCity.sort_values([\"revenue\"],ascending = False)\n",
    "plt.figure(figsize = (15,5))\n",
    "plt.title(\"Descending Order of Revenues\",size=16)\n",
    "sns.barplot(x='City', y = 'revenue', data=df_train_new.head(10))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6e5f0d9d",
   "metadata": {},
   "source": [
    "## Comparing revenues"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "9c776c02",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: title={'center': 'Revenues Comparison between big cities and other places'}, xlabel='City Group', ylabel='revenue'>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Re3bt9fs2bOd9q6mdV+3W7ZsmTp27KgqVaqoYsWKatGihXmm4na///67XnvtNTVo0EDly5fXE088oZ49e6a67DvJ0CnCu4mNjdX27dslSY8++qjDYwsXLtTQoUOVlJSkxx9/XEFBQTpw4IBmzJihVatW6euvv1bJkiWVL18+1alTRytWrNCaNWvUvHlzh+UcPHhQR44cUbly5WSz2SRJMTEx6ty5s/bv36+CBQuqatWqSkhI0M6dOxUeHq7evXurb9++KepdtGiRVq1apdKlS6t69eo6fPiwNm3apPDwcM2aNUuVKlXK8LZISEjQyy+/rA0bNihPnjwKCAiQu7u7tm/frjfffFPh4eF69913zfl/+eUXdenSRfHx8apcubLKly+v48ePa8WKFfr55581bdo0VatW7Y7r3Lt3r6KiopQ7d27VqVPnjvPmy5dPixYtSjF99erV6t+/v+Lj4+Xr66sqVaro6NGj+uGHH7Ry5Up9+OGHTpc9YMAAbdiwQUFBQSpVqpS2bdumyZMn68qVKzpy5Ij27dunKlWq6OrVq4qIiNCrr74qNze3FGPAzp07p2eeeUZXr15VtWrVFBMTo23btik8PFwjRoxQu3btzHl37typ7t27Ky4uTuXLl5evr6+io6O1e/duzZkzR+vXr9eSJUuUJ08eh3XMmTNHx48f15NPPqmYmBiVKVPG6TYyDEMDBgzQypUrVaRIEVWtWlVJSUnatWuXxo8fr61bt5qBVpIuXbqkjh076vDhw8qfP79q1qyp69eva/v27dq1a5c2b96sd999Vy4uLg7r2bZtm8aNGycfHx9VrVpVJ06c0K5du7Rr1y5NnDhRjRs3vuN7mVz//v117NgxBQcHK1euXNq2bZtGjBihHTt26MMPP3SY97PPPtOHH36oHDlyyN/fXz4+Pvrll1/08ccfa82aNfrqq6+UL18+FSpUSKGhoVqzZo2uXbumevXqycvLS97e3ipRooSOHDmiM2fOqEiRIg6vSZIOHDig2NhYh/dgw4YNypEjh2rWrCkpY+03rbUnd+7cObVr107Xrl1TQECAbty4oR07dujdd9/ViRMn9NZbb6V5O3/xxRf6448/5Ofnpzp16igiIkLTpk3T2rVr9c033yh//vx3fP6MGTMUFhamHDlyKCgoSLly5dLGjRsVHh6eou47iY2NVbdu3bR7927l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DXW4HNpqrq6uKl68uJo3b64nnnhChmFo69atSkhIUM+ePVW9enVz3vr166tbt2764osv1K5dO/n5+alw4cI6ePCgjh8/Lk9PT3300UcOQeGhhx7SH3/8oX79+pm9ePZ9snbt2po8ebJiYmJSXJBRrVo18xurs5vUprf9ZqR2q1WsWFF9+vRRQECAfHx8tH37dl2+fFnBwcHq3bv3HZ/72GOP6ZVXXtHEiRPVvn17BQcHy8vLS+Hh4cqVK5c8PT0VFxeXprE/AwcO1L59+8x9rkqVKrp8+bJ27dqlpKQkjRs3zulVV3b2U33r1q1Tz549FRAQoF69ejmdN73H8WeffVY//vijIiIiVLduXVWsWFEeHh769ddfderUKT3yyCPmB2Fq/o127uHhoXHjxql79+4KCwvTokWL9OCDD2rPnj26cOGC/Pz8HILwnXTs2FGRkZFavny5mjZtqqCgIHl6emrnzp26dOmSHnvssRRXRN6pXaXHv90uihYtqlGjRun7779XqVKltGfPHv31118qV66c3njjjTs+t0uXLtq1a5cmTZqkn3/+WSVLltSZM2e0e/du5cyZUyVLltSJEycc3tf07OudOnXS7t27tWzZMjVr1kz+/v7Knz+/9uzZo7Nnz8rb21vjx483lz1o0CDt3LlTX331lVavXq1y5copPj5eERERio2NVWhoaLrO3GTaT+W8/fbb8vDw0J9//qmpU6ea0zt06KDZs2erQYMGOn36tNauXatr167pqaee0vz581O9W3WjRo3MMVfJrx5MztvbW99995369eunwoULa8eOHfrll19UpkwZDR48WDNmzHB6CXh6vPHGGxoyZIjKli2riIgI7d27V02aNNG8efOcjknKlSuXvvjiCw0dOlQPP/yw9uzZY15d9corr2jevHkOgbJixYr65ptv1KhRI125ckU///yz9u/frypVquijjz5S//7901xr7ty5NXXqVE2YMEF16tRRdHS01q1bp61bt8rb21udO3fW0qVLnW7Phg0bav78+WrWrJkuXLig1atX68qVK2rbtq0WLFiQpqsZ/4m8efNqzpw5Kl++vDZu3Khjx46pcePGmjt3rnlpv3RrXNR3332ntm3bKmfOnNqwYYOOHDkif39/TZgwweyh27Rpk9OfRUgLFxcXjR8/Xq+//rpKly6tiIgIrVu3ToZhqFOn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Vbp0aYfpvXv3VmhoqEJDQ52elhwyZIiOHTum77//XqtXr1aePHnUp08fGYahbdu2ae7cuZo3b57Cw8PVrl07DR06VAkJCenfEMB/TGRkpM6fP6+WLVumeMzV1VVt27bVzz//rMWLF0uSli5dqiZNmkiSfv31VwUFBWnjxo2aOHGiPv/8c0VGRkqSJkyYoHXr1mnGjBnauHGjKlasqG7duunGjRvm8qOiorRu3Tq99957mf9CgVQQsGC5Xr16KTAwUJUrV1ZwcLDWr1+vp59+OsV8CQkJ+uGHH9S/f38VK1ZMuXPn1rBhw1K9a799jEahQoUsqfPChQtasWKFhg4dKm9vb+XOnVtDhgzR3r17tX//fuXMmVPR0dH67rvv9Ouvv6pdu3baunWr3N3dLVk/cD87e/aspNTba+HChZWQkJDiFL5063dpW7RoIRcXF1WrVk2FChVSVFSUDMPQt99+q9dee02lSpVSzpw51bt3byUkJGjdunXm85s1ayZPT0898MADmfLagLTIkdUF4P4zefJkVa1aVdKtU4CzZ89W586dNXfuXPn5+ZnzXb58WXFxcSpRooQ5LU+ePCpQoIDT5fr4+EiSzp07l6KnSro1WDY94cveU9a+fXuH6W5ubjpx4oQaN26sSZMmaebMmZo2bZpy5cqljh076qWXXpKrK99NgDuxt9dTp045ba8nTpyQu7u70/aeP39+h789PDyUmJioixcv6tq1a+rXr59DG0xISHDo+S5cuLA1LwL4BwhYyFS5cuXSCy+8oClTpmjLli0OAcvb21u5cuXSqVOn9PDDD0uSrl275vQbrSSVKFFCNptNy5YtU1BQkMNjFy5cUJ06dRQWFub0FKIzRYoUkSQtX77c/DCQpCNHjqhUqVI6deqUvL29NX36dMXHx2vr1q3q06eP/Pz8VLt27fRsBuA/p0qVKvLx8dH8+fM1YMAAh8cSExP1/fffq27duun6ndkCBQooZ86c+uKLL1SpUiVz+h9//GG2Z0lycXH5x/UD/xRfw5Gpbt68qQULFujKlSuqUqWKw2P2cRiTJk3SmTNnFBcXp7CwMPNKQGfeeustLViwQB9//LEuXbokwzB04MAB9erVS35+fmrUqFGK53h4eCgmJibF9CJFiqh27doaPXq0Ll26pISEBH322Wdq27atrly5or1796p79+46ePCgPDw8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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "compareCity = df_train[[\"City Group\", \"revenue\"]].groupby(['City Group'],as_index = False).mean()\n",
    "plt.title(\"Revenues Comparison between big cities and other places\",size=16)\n",
    "sns.barplot(x='City Group', y = 'revenue', data=compareCity)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ac5c30bd",
   "metadata": {},
   "source": [
    "## Working Days"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "38be519c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: title={'center': 'Working Days'}, xlabel='Type', ylabel='Days Open'>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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p6frxIkT2rp1q9zc3K4Ywm655RbdcsstevLJJ1VUVKRPPvlECQkJ2rx5sx555JE6p00CABipAgD8h/DwcFksFqWkpOjChQu1pv7V6N+/v3Jzc63Tw/7z/lQ163S++OIL66jPT3366aeqrq7WHXfcUWsjiqupGdl69tln1bZtW+3YscM6xe1acXNzU+/evVVdXa2dO3fWat+xY4f1nljX0htvvCHp8kYT7u7ukv49HTMqKqpWoDKbzdb2ukbVajasWLdunQ4ePKhBgwapXbt21vaLFy8qKipKI0eOtHlcmzZtNGHCBOu/v72jgQDQkhCqAAA2atZF1ex8d6VQVROiNmzYIDc3t1pbboeFhenWW2/VDz/8oPnz59vcyPbw4cN66aWXJMm6ffl/w9fX17oLX0JCwjXf4vzXv/61JOmll15Sdna29Xh2drYWLVp0TV/r4sWLeuGFF7Rz507dcMMNmj59urWtZu3Wzp07bQJqQUGBnn76aeuIWVlZWa3nHTp0qHx8fLR27VpZLBabDSok6brrrlN1dbWOHz+upKQkm7ZTp07pwIEDcnFx0e23336tugoAzQ7T/wAANoKCgvSzn/1Mp06dkqurq83W4z81cOBAmUwm/fOf/1SvXr3k4+Nj016z3umRRx7R+vXr9eWXX6pnz54qLCzU/v37VVVVpWnTpunee+81VO/o0aO1ceNGpaWlacGCBXrllVcMPd9P3X333Ro3bpw2bNigESNGWINjWlqadcSoZjSpvrZu3aoffvjB+n15ebnOnz+vI0eOqKysTD//+c+1fPly67bq0uXRpjVr1mj37t269957ddttt6m4uFgHDhxQaWmpgoKClJWVpdzc3Fqv5+XlpeHDh+u9996Tv7+/Bg8eXOucefPm6eGHH9bChQv1/vvvq3PnziouLtbf//53lZWVafr06Tbr5QAAthipAgDUUhOkunfvfsWd+Nq2batu3bpJqj31r8Yvf/lLpaSkaMqUKfLw8NC2bduUlZWlQYMGadWqVXr22WevSb1z586Vh4eHUlNTtWPHjmvynDXmz5+vF154QTfeeKP27t2rgwcPatSoUVq5cqUk1QqTV3P8+HGlpqZav7744gt9//336tmzp2bPnq2PP/641hq2X/ziF0pOTtZ9992nqqoq7dixQ9nZ2QoPD9eqVauso37bt2+v8zV79eolSRo1alSdIbBnz57661//qqFDh+rixYvatm2bjhw5ot69e2vZsmVsVAEAV2GyOGrrIgAAmrgTJ07Iy8tLHTp0qLVj4HfffacHHnhAPXv2/K+2dW9I06dP1/bt25WamnrVe4ABAOzHSBUAAFeQmJiou+++W+vWrbM5funSJes0wyFDhjijtKuquYnx5s2btWPHDoWFhRGoAMBBGKkCAOAKDh48qIcffljl5eXq1q2bbrzxRl26dEnffPONLl68qL59+2rlypV2r6tqCL/61a/03XffqaysTK6urlq3bp169uzp7LIAoFliowoAAK6gZ8+eSklJ0erVq7Vv3z7t2LFDHh4euummmzR69Gg9+OCDcnV1dXaZderVq5eOHTumm266Sc888wyBCgAciJEqAAAAADCANVUAAAAAYAChCgAAAAAMIFQBAAAAgAGEKgAAAAAwgN3/6pCXVyS27wAAAABaLpNJatu2Tb3OJVTVwWIRoQoAAABAvTD9DwAAAAAMIFQBAAAAgAGEKgAAAAAwgFAFAAAAAAYQqgAAAADAAEIVAAAAABhAqAIAAAAAAwhVAAAAAGAAoQoAAAAADCBUAQAAAIABhCoAAAAAMIBQBQAAAAAGEKoAAAAAwABCFQAAAAAY4ObsAloqFxeTXFxMzi4DaHKqqy2qrrY4uwwAAAArQpUTuLiY5OfnLVdXBgoBe1VVVauwsIRgBQAAGg1ClRO4uJjk6uqi+L/u0v/mXHB2OUCT8cuf+eqPDw2Si4uJUAUAABoNQpUT/W/OBR09ne/sMgAAAAAYwPwzAAAAADCAUAUAAAAABhCqAAAAAMAAQhUAAAAAGECoAgAAAAADCFUAAAAAYAChCgAAAAAMIFQBAAAAgAGEKgAAAAAwgFAFAAAAAAYQqgAAAADAAEIVAAAAABhAqAIAAAAAA5wSqgoLC/Xcc8+pb9++6tOnjx577DHl5ORIkg4ePKjx48crNDRUERERSk5OtnlsSkqKIiMjFRISoqioKGVkZFjbqqqqtHjxYvXv31+hoaGKiYmxPi8AAAAAOIJTQtXvfvc7lZSU6LPPPtP27dvl6uqq559/XhcuXNC0adM0ZswYpaenKyEhQQsXLtShQ4ckSfv27dP8+fO1aNEipaena9SoUYqJidGlS5ckSYmJidqzZ48++OAD7dq1S56enoqPj3dGFwEAAAC0EA0eqg4fPqyDBw9q0aJFuu666+Tj46P58+crNjZWW7dulZ+fn6Kjo+Xm5qbw8HCNHDlSa9eulSQlJydr+PDh6t27t9zd3TV58mT5+/tr8+bN1vapU6eqQ4cO8vHxUVxcnHbu3Kns7OyG7iYAAACAFsKtoV/w0KFDCgoK0vvvv69169bp0qVLGjRokGbNmqXMzEx16dLF5vygoCBt2LBBkpSVlaWxY8fWaj969KiKiop09uxZm8cHBgbK19dXx44dU8eOHetdo8lkoIMAGgTvUwAA4Ej2fNZo8FB14cIFHTt2TLfffrtSUlJUWlqq5557TrNmzVJgYKC8vLxszvf09FRJSYkkyWw2X7HdbDZLkry9vWu117TVV9u2beztFoAG5O/f2tklAAAAWDV4qPLw8JAkxcXFqVWrVvLx8dFTTz2lCRMmKCoqSqWlpTbnl5aWqnXryx+gvLy86mz39/e3hq2a9VV1Pb6+8vKKZLHY9RC7uLq68KEQMKCgwKyqqmpnlwEAAJoxk6n+gy0NHqqCgoJUXV2tiooKtWrVSpJUXX35w9Ett9yiv/71rzbnZ2VlKTg4WJIUHByszMzMWu133nmnfH191b59e2VlZVmnAJ4/f16FhYW1phRejcUih4YqAMbxHgUAAI1Fg29U0b9/f3Xs2FF/+MMfZDablZ+fr1dffVVDhgzRiBEjlJubq6SkJFVUVCgtLU2pqanWdVTjxo1Tamqq0tLSVFFRoaSkJOXl5SkyMlKSFBUVpcTERGVnZ6u4uFgLFixQWFiYOnXq1NDdBAAAANBCNPhIlbu7u9asWaNFixZp6NChKisrU0REhOLi4nTddddp1apVSkhI0LJlyxQQEKD4+Hj169dPkhQeHq45c+Zo7ty5OnfunIKCgrR8+XL5+flJkmbMmKHKykpFR0fLbDarb9++Wrp0aUN3EQAAAEALYrJYmETzn3JzHbumys3t8pqq6KUf6+jpfMe9ENDMdPt5gNY+NUIFBWZVVrKmCgAAOI7JJAUG1m9NlVNu/gsAAAAAzQWhCgAAAAAMIFQBAAAAgAGEKgAAAAAwgFAFAAAAAAYQqgAAAADAAEIVAAAAABhAqAIAAAAAAwhVAAAAAGAAoQoAAAAADCBUAQAAAIABhCoAAAAAMIBQBQAAAAAGEKoAAAAAwABCFQAAAAAYQKgCAAAAAAMIVQAAAABgAKEKAAAAAAwgVAEAAACAAYQqAAAAADCAUAUAAAAABhCqAAAAAMAAQhUAAAAAGECoAgAAAAADCFUAAAAAYAChCgAAAAAMIFQBAAAAgAGEKgAAAAAwgFAFAAAAAAYQqgAAAADAAEIVAAAAABhAqAIAAAAAAwhVAAAAAGAAoQoAAAAADCBUAQAAAIABhCoAAAAAMIBQBQAAAAAGEKoAAAAAwABCFQAAAAAYQKgCAAAAAAMIVQAAAABgAKEKAAAAAAxwc3YBAAAALZmLi0kuLiZnlwE0KdXVFlVXW5xdhhWhCgAAwElcXEzy8/eSq4urs0sBmpSq6ioVFlxqNMGKUAUAAOAkLi4mubq4at6Wefq+4HtnlwM0CTf536Q5Q+fIxcVEqAIAAMBl3xd8r+Pnjzu7DAD/JTaqAAAAAAADCFUAAAAAYIBTQtXmzZt16623KjQ01Po1c+ZMSdLBgwc1fvx4hYaGKiIiQsnJyTaPTUlJUWRkpEJCQhQVFaWMjAxrW1VVlRYvXqz+/fsrNDRUMTExysnJadC+AQAAAGhZnBKqvv32W40ePVoZGRnWr5dfflkXLlzQtGnTNGbMGKWnpyshIUELFy7UoUOHJEn79u3T/PnztWjRIqWnp2vUqFGKiYnRpUuXJEmJiYnas2ePPvjgA+3atUuenp6Kj493RhcBAAAAtBBOC1W33357reNbt26Vn5+foqOj5ebmpvDwcI0cOVJr166VJCUnJ2v48OHq3bu33N3dNXnyZPn7+2vz5s3W9qlTp6pDhw7y8fFRXFycdu7cqezs7AbtHwAAAICWo8F3/6uurtaRI0fk5eWlFStWqKqqSnfddZdiY2OVmZmpLl262JwfFBSkDRs2SJKysrI0duzYWu1Hjx5VUVGRzp49a/P4wMBA+fr66tixY+rYsWO9azRx/z2g0eN9CgAAHPl5wJ7nbvBQlZ+fr1tvvVVDhw7VsmXLVFBQoFmzZmnmzJlq166dvLy8bM739PRUSUmJJMlsNl+x3Ww2S5K8vb1rtde01Vfbtm3s7RaABuTv39rZJQAAACdrTJ8HGjxUBQYGWqfzSZKXl5dmzpypCRMmKCoqSqWlpTbnl5aWqnXr1tZz62r39/e3hq2a9VV1Pb6+8vKKZHHgfcRcXV0a1S8B0NQUFJhVVVXt7DIAwDA+EwD/PUd/HjCZ6j/Y0uCh6ujRo/r444/17LPPyvSvMbXy8nK5uLioR48eWr16tc35WVlZCg4OliQFBwcrMzOzVvudd94pX19ftW/fXllZWdYpgOfPn1dhYWGtKYVXY7HIoaEKgHG8RwEAQGP5PNDgG1X4+flp7dq1WrFihSorK3XmzBm9/PLLeuCBBzR06FDl5uYqKSlJFRUVSktLU2pqqnUd1bhx45Samqq0tDRVVFQoKSlJeXl5ioyMlCRFRUUpMTFR2dnZKi4u1oIFCxQWFqZOnTo1dDcBAAAAtBANPlJ1/fXX66233tKf/vQnJSYmqlWrVho+fLhmzpypVq1aadWqVUpISNCyZcsUEBCg+Ph49evXT5IUHh6uOXPmaO7cuTp37pyCgoK0fPly+fn5SZJmzJihyspKRUdHy2w2q2/fvlq6dGlDdxEA6sXFxSQXF3bcAOxVXW1RdXUj+fM0AEgyWSyNZdCs8cjNdeyaKje3y/Ono5d+rKOn8x33QkAz0+3nAVr71AgVFJhVWdm011S5uJjk7+clF1dXZ5cCNDnVVVUqKLzULIJVzWeCKeun6Pj5484uB2gSurTrond+9Y7DPw+YTFJgYCNdUwUA+Ncolaurcjf+XhW5J51dDtBkuAferMCoRXJxMTWLUAWgeSBUAYATVeSeVMXZfzi7DAAAYECDb1QBAAAAAM0JoQoAAAAADCBUAQAAAIABhCoAAAAAMIBQBQAAAAAGEKoAAAAAwABCFQAAAAAYQKgCAAAAAAMIVQAAAABgAKEKAAAAAAwgVAEAAACAAYQqAAAAADCAUAUAAAAABhCqAAAAAMAAQhUAAAAAGECoAgAAAAADCFUAAAAAYAChCgAAAAAMIFQBAAAAgAGEKgAAAAAwgFAFAAAAAAYQqgAAAADAAEIVAAAAABhAqAIAAAAAAwhVAAAAAGAAoQoAAAAADCBUAQAAAIABhCoAAAAAMIBQBQAAAAAGEKoAAAAAwABCFQAAAAAYQKgCAAAAAAMIVQAAAABgAKEKAAAAAAwgVAEAAACAAYQqAAAAADCAUAUAAAAABhCqAAAAAMAAQhUAAAAAGECoAgAAAAADCFUAAAAAYAChCgAAAAAMIFQBAAAAgAGEKgAAAAAwgFAFAAAAAAYQqgAAAADAAKeGqqqqKk2aNEm///3vrccOHjyo8ePHKzQ0VBEREUpOTrZ5TEpKiiIjIxUSEqKoqChlZGTYPN/ixYvVv39/hYaGKiYmRjk5OQ3WHwAAAAAtj1ND1euvv679+/dbv79w4YKmTZumMWPGKD09XQkJCVq4cKEOHTokSdq3b5/mz5+vRYsWKT09XaNGjVJMTIwuXbokSUpMTNSePXv0wQcfaNeuXfL09FR8fLxT+gYAAACgZXBaqNq7d6+2bt2qe++913ps69at8vPzU3R0tNzc3BQeHq6RI0dq7dq1kqTk5GQNHz5cvXv3lru7uyZPnix/f39t3rzZ2j516lR16NBBPj4+iouL086dO5Wdne2UPgIAAABo/pwSqvLy8hQXF6clS5bIy8vLejwzM1NdunSxOTcoKEhHjx6VJGVlZV2xvaioSGfPnrVpDwwMlK+vr44dO2ZXfSaTY78AGOfo9ynXAaDxc/b7mGsB4HyN5T3q5rgu1q26ulozZ87UlClT1K1bN5s2s9lsE7IkydPTUyUlJVdtN5vNkiRvb+9a7TVt9dW2bRu7zgfQsPz9Wzu7BABOxnUAQGO6DjR4qHrrrbfk4eGhSZMm1Wrz8vJSUVGRzbHS0lK1bt3a2l5aWlqr3d/f3xq2atZX1fX4+srLK5LFYtdD7OLq6tKofgmApqagwKyqqmpnl2EI1wHAmOZwHZC4FgBGOPo6YDLVf7ClwUPVhx9+qJycHN1xxx2SZA1Jn3/+uZ577jnt2bPH5vysrCwFBwdLkoKDg5WZmVmr/c4775Svr6/at29vM0Xw/PnzKiwsrDVl8GosFjk0VAEwjvcoAK4DABrLdaDB11R9+umnOnDggPbv36/9+/drxIgRGjFihPbv36/IyEjl5uYqKSlJFRUVSktLU2pqqsaOHStJGjdunFJTU5WWlqaKigolJSUpLy9PkZGRkqSoqCglJiYqOztbxcXFWrBggcLCwtSpU6eG7iYAAACAFqLBR6r+L/7+/lq1apUSEhK0bNkyBQQEKD4+Xv369ZMkhYeHa86cOZo7d67OnTunoKAgLV++XH5+fpKkGTNmqLKyUtHR0TKbzerbt6+WLl3qvA4BAAAAaPacHqoWLVpk83337t21fv36K54/evRojR49us42d3d3xcbGKjY29prWCAAAAABXYleoqqqq0pYtW/T999+rutp2Udjjjz9+TQsDAAAAgKbArlA1Z84c/e1vf1O3bt3k5vbvh5q40QIAAACAFsquULV9+3a9++676t69u6PqAQAAAIAmxa7d/6qrq3Xrrbc6qhYAAAAAaHLsClUjRozQypUrHVULAAAAADQ5dk3/O3LkiA4cOKDExEQFBATYtH3xxRfXtDAAAAAAaArsClXjx4/X+PHjHVULAAAAADQ5doWqBx54wPrf+fn5tUarAAAAAKClsWtNVWVlpV599VX17t1bERERys7O1tixY3X+/HlH1QcAAAAAjZpdoeq1115TWlqa/vznP8vd3V1t27bV9ddfrz/+8Y+Oqg8AAAAAGjW7pv+lpqZq3bp1at++vUwmk7y9vbVw4UJFRkY6qj4AAAAAaNTsGqkqKSmxrqOyWCySJE9PT7m42PU0AAAAANBs2JWGQkJC9Prrr0uSTCaTJGnNmjXq3r37ta8MAAAAAJoAu6b/xcXF6ZFHHlFKSorMZrOGDRsms9msd955x1H1AQAAAECjZleo6tixo/72t7/pyy+/1OnTp3X99ddr8ODB8vHxcVR9AAAAANCo2b0Yqry8XGVlZaqurnZEPQAAAADQpNg1UvX3v/9dMTEx8vLy0vXXX68zZ85o0aJFeueddxQcHOyoGgEAAACg0bJrpGrBggV69NFHtWPHDr333nvauXOnJk6cqBdffNFR9QEAAABAo2ZXqDp58qR++9vfWr83mUyaPn26vvvuu2teGAAAAAA0BXaFql/+8pfKyMiwOZaZmamgoKBrWhQAAAAANBV2ranq27evpk+frrFjx+rGG29UTk6OkpOTFRYWZr1/lSQ9/vjj17xQAAAAAGiM7ApVhw8f1q233qp//OMf+sc//iFJ6ty5s/Ly8pSXlyfp3zcFBgAAAICWwK5QtWbNGkfVAQAAAABNkl2hateuXfr000+Vk5Ojdu3aaejQobrrrrscVRsAAAAANHr13qgiLi5O06dP1w8//KA2bdooKytLM2bM0OzZsx1ZHwAAAAA0avUaqdq0aZP27Nmjjz76SJ07d7Ye/+677zRjxgxt2rRJY8aMcVSNAAAAANBo1Wuk6v3339cLL7xgE6gk6dZbb1VcXJzee+89hxQHAAAAAI1dvULViRMnrrh2asCAATpx4sQ1LQoAAAAAmop6hary8nJVVFRcsd1isVyzggAAAACgKalXqOrcubO++uqrOtv27t1ba1ogAAAAALQU9QpV48eP14IFC3T69Gmb45mZmUpISNCECRMcUhwAAAAANHb12v1v4sSJ+vrrr3X//ferV69eCgwM1JkzZ/Ttt99q5MiRioqKcnSdAAAAANAo1fvmv0uWLNHnn3+uL774Qjk5OerUqZOmTZumwYMHO7A8AAAAAGjc6h2qJGnIkCEaMmSIo2oBAAAAgCanXmuqAAAAAAB1I1QBAAAAgAGEKgAAAAAwwFCoOnHihM6dO3etagEAAACAJseuUHXgwAGNGTNGkrR+/XoNHz5c99xzjz7//HNH1AYAAAAAjZ5du/8tWbJEgwcPlsVi0VtvvaVFixbJz89PS5YsYVdAAAAAAC2SXSNVJ0+e1JNPPqmTJ08qNzdXw4YN0+DBg3Xq1ClH1QcAAAAAjZpdocrV1VVms1k7d+5USEiIPDw8dPr0afn4+DiqPgAAAABo1Oy++e/DDz+s06dPKz4+XllZWZoxY4ZGjBjhqPoAAAAAoFGzK1Q9//zz+vDDD+Xp6alhw4bp+++/169+9Ss98sgjjqoPAAAAABo1u0LVG2+8oQceeEC/+MUvJEk33XSTpkyZ4pDCAAAAAKApsGtN1eHDh3X//ffrkUce0UcffaSysjJH1QUAAAAATYJdoeqtt97S9u3bNXjwYK1cuVIDBgzQCy+8oEOHDjmqPgAAAABo1OwKVZIUGBioKVOm6MMPP9SKFSt0+PBhTZw4UcOHD9fatWtVWVl51efYu3evxo8fr169emnAgAGaP3++SktLJUkHDx7U+PHjFRoaqoiICCUnJ9s8NiUlRZGRkQoJCVFUVJQyMjKsbVVVVVq8eLH69++v0NBQxcTEKCcnx94uAgAAAEC92R2qKioqtHXrVs2YMUOTJk2SxWLRH/7wBz377LPatGmTnnrqqf/z8fn5+fp//+//6cEHH9T+/fuVkpKir7/+Wm+//bYuXLigadOmacyYMUpPT1dCQoIWLlxoHQnbt2+f5s+fr0WLFik9PV2jRo1STEyMLl26JElKTEzUnj179MEHH2jXrl3y9PRUfHy8/T8VAAAAAKgnuzaqeOGFF7RlyxZJ0siRI/X+++/rlltusbZ36NBBDz744P/5HAEBAfrqq6/k4+Mji8WiwsJClZWVKSAgQFu3bpWfn5+io6MlSeHh4Ro5cqTWrl2rHj16KDk5WcOHD1fv3r0lSZMnT9Z7772nzZs3a+zYsUpOTlZsbKw6dOggSYqLi9PAgQOVnZ2tjh072tNVAAAAAKgXu0LVmTNnNHfuXN1zzz3y8PCo1d6hQwe9/vrrV32empsF33XXXTp37pzuuOMORUVFaenSperSpYvNuUFBQdqwYYMkKSsrS2PHjq3VfvToURUVFens2bM2jw8MDJSvr6+OHTtmV6gymep9KgAn4X0KgOsAAEdeB+x5brtC1YoVK+o8np+fr4CAAPn5+WngwIH1fr6tW7fqwoULio2N1RNPPKH27dvLy8vL5hxPT0+VlJRIksxm8xXbzWazJMnb27tWe01bfbVt28au8wE0LH//1s4uAYCTcR0A0JiuA3aFqkOHDumll17SuXPnVF1dLenyGqv8/HwdPnzY7hf39PSUp6enZs6cqfHjx2vSpEkqKiqyOae0tFStW1/+gXl5eVk3tPhpu7+/vzVs1ayvquvx9ZWXVySLxd7e1J+rq0uj+iUAmpqCArOqqqqdXYYhXAcAY5rDdUDiWgAY4ejrgMlU/8EWuzaqePHFF9WuXTsNHDhQv/zlL/Xwww/L1dVVzz77bL2f48CBA7rvvvtUXl5uPVZeXi53d3cFBQUpMzPT5vysrCwFBwdLkoKDg6/Y7uvrq/bt2ysrK8vadv78eRUWFtaaUng1FotjvwAY5+j3KdcBoPFz9vuYawHgfI3lPWpXqMrMzNTChQsVHR2tqqoqTZkyRa+++qpSU1Pr/Rxdu3ZVaWmplixZovLycp0+fVqLFy/WuHHjNHToUOXm5iopKUkVFRVKS0tTamqqdR3VuHHjlJqaqrS0NFVUVCgpKUl5eXmKjIyUJEVFRSkxMVHZ2dkqLi7WggULFBYWpk6dOtnTTQAAAACoN7um/1133XXy9PRUx44drSNGISEhOn36dL2fo3Xr1lqxYoUWLFigAQMGqE2bNho5cqRmzJghDw8PrVq1SgkJCVq2bJkCAgIUHx+vfv36Sbq8G+CcOXM0d+5cnTt3TkFBQVq+fLn8/PwkSTNmzFBlZaWio6NlNpvVt29fLV261J4uAgAAAIBd7ApVN998s9atW6cHH3xQ3t7e+sc//iEPDw+Z7Nx2IygoSKtWraqzrXv37lq/fv0VHzt69GiNHj26zjZ3d3fFxsYqNjbWrnoAAAAA4L9lV6h68sknFRMTowEDBug3v/mNJkyYIFdX16vemwoAAAAAmiu7QlWvXr20c+dOeXh4qFOnTurWrZuKi4s1YMAAR9UHAAAAAI2aXaHKbDYrIyNDhYWFatu2rXr27FnrvlAAAAAA0JLUO1StWLFCr7/+us19olq3bq1nnnlG0dHRDikOAAAAABq7eoWq5ORkvfnmm4qLi9PgwYPl7++vvLw8bdu2Ta+++qoCAwM1dOhQR9cKAAAAAI1OvULVX//6Vy1cuNB6PyhJat++vR588EH5+vpqzZo1hCoAAAAALVK9bv77/fff6+67766zbciQITp58uQ1LQoAAAAAmop6hSqTySQ3t7oHtTw8PGzWWQEAAABAS1KvUAUAAAAAqFu91lRVVlZq06ZNV2yvqqq6VvUAAAAAQJNSr1AVGBioZcuWXbG9bdu216wgAAAAAGhK6hWqtm3b5ug6AAAAAKBJYk0VAAAAABhAqAIAAAAAAwhVAAAAAGAAoQoAAAAADCBUAQAAAIABhCoAAAAAMIBQBQAAAAAGEKoAAAAAwABCFQAAAAAYQKgCAAAAAAMIVQAAAABgAKEKAAAAAAwgVAEAAACAAYQqAAAAADCAUAUAAAAABhCqAAAAAMAAQhUAAAAAGECoAgAAAAADCFUAAAAAYAChCgAAAAAMIFQBAAAAgAGEKgAAAAAwgFAFAAAAAAYQqgAAAADAAEIVAAAAABhAqAIAAAAAAwhVAAAAAGAAoQoAAAAADCBUAQAAAIABhCoAAAAAMIBQBQAAAAAGEKoAAAAAwABCFQAAAAAYQKgCAAAAAAMIVQAAAABgAKEKAAAAAAxwSqg6evSopkyZorCwMA0YMEDPPfec8vPzJUkHDx7U+PHjFRoaqoiICCUnJ9s8NiUlRZGRkQoJCVFUVJQyMjKsbVVVVVq8eLH69++v0NBQxcTEKCcnp0H7BgAAAKBlafBQVVpaqt/+9rcKDQ3V7t279fHHH6uwsFB/+MMfdOHCBU2bNk1jxoxRenq6EhIStHDhQh06dEiStG/fPs2fP1+LFi1Senq6Ro0apZiYGF26dEmSlJiYqD179uiDDz7Qrl275Onpqfj4+IbuIgAAAIAWpMFD1ZkzZ9StWzfNmDFDHh4e8vf318SJE5Wenq6tW7fKz89P0dHRcnNzU3h4uEaOHKm1a9dKkpKTkzV8+HD17t1b7u7umjx5svz9/bV582Zr+9SpU9WhQwf5+PgoLi5OO3fuVHZ2dkN3EwAAAEAL0eCh6uabb9aKFSvk6upqPbZlyxbddtttyszMVJcuXWzODwoK0tGjRyVJWVlZV2wvKirS2bNnbdoDAwPl6+urY8eO2VWjyeTYLwDGOfp9ynUAaPyc/T7mWgA4X2N5j7o5rotXZ7FYtHTpUm3fvl1/+ctf9O6778rLy8vmHE9PT5WUlEiSzGbzFdvNZrMkydvbu1Z7TVt9tW3bxt6uAGhA/v6tnV0CACfjOgCgMV0HnBaqiouLNXv2bB05ckR/+ctf1LVrV3l5eamoqMjmvNLSUrVuffkH5uXlpdLS0lrt/v7+1rBVs76qrsfXV15ekSwWe3tUf66uLo3qlwBoagoKzKqqqnZ2GYZwHQCMaQ7XAYlrAWCEo68DJlP9B1ucsvvfjz/+qLFjx6q4uFgbNmxQ165dJUldunRRZmamzblZWVkKDg6WJAUHB1+x3dfXV+3bt1dWVpa17fz58yosLKw1ZfBqLBbHfgEwztHvU64DQOPn7Pcx1wLA+RrLe7TBQ9WFCxf0yCOPqFevXlq5cqUCAgKsbZGRkcrNzVVSUpIqKiqUlpam1NRUjR07VpI0btw4paamKi0tTRUVFUpKSlJeXp4iIyMlSVFRUUpMTFR2draKi4u1YMEChYWFqVOnTg3dTQAAAAAtRINP/9u4caPOnDmjTz75RJ9++qlNW0ZGhlatWqWEhAQtW7ZMAQEBio+PV79+/SRJ4eHhmjNnjubOnatz584pKChIy5cvl5+fnyRpxowZqqysVHR0tMxms/r27aulS5c2cA8BAAAAtCQNHqqmTJmiKVOmXLG9e/fuWr9+/RXbR48erdGjR9fZ5u7urtjYWMXGxhquEwAAAADqwylrqgAAAACguSBUAQAAAIABhCoAAAAAMIBQBQAAAAAGEKoAAAAAwABCFQAAAAAYQKgCAAAAAAMIVQAAAABgAKEKAAAAAAwgVAEAAACAAYQqAAAAADCAUAUAAAAABhCqAAAAAMAAQhUAAAAAGECoAgAAAAADCFUAAAAAYAChCgAAAAAMIFQBAAAAgAGEKgAAAAAwgFAFAAAAAAYQqgAAAADAAEIVAAAAABhAqAIAAAAAAwhVAAAAAGAAoQoAAAAADCBUAQAAAIABhCoAAAAAMIBQBQAAAAAGEKoAAAAAwABCFQAAAAAYQKgCAAAAAAMIVQAAAABgAKEKAAAAAAwgVAEAAACAAYQqAAAAADCAUAUAAAAABhCqAAAAAMAAQhUAAAAAGECoAgAAAAADCFUAAAAAYAChCgAAAAAMIFQBAAAAgAGEKgAAAAAwgFAFAAAAAAYQqgAAAADAAEIVAAAAABhAqAIAAAAAAwhVAAAAAGCAU0NVfn6+IiMjtW/fPuuxgwcPavz48QoNDVVERISSk5NtHpOSkqLIyEiFhIQoKipKGRkZ1raqqiotXrxY/fv3V2hoqGJiYpSTk9Ng/QEAAADQ8jgtVP3973/XxIkT9eOPP1qPXbhwQdOmTdOYMWOUnp6uhIQELVy4UIcOHZIk7du3T/Pnz9eiRYuUnp6uUaNGKSYmRpcuXZIkJSYmas+ePfrggw+0a9cueXp6Kj4+3in9AwAAANAyOCVUpaSkKDY2Vk8//bTN8a1bt8rPz0/R0dFyc3NTeHi4Ro4cqbVr10qSkpOTNXz4cPXu3Vvu7u6aPHmy/P39tXnzZmv71KlT1aFDB/n4+CguLk47d+5UdnZ2g/cRAAAAQMvglFA1cOBAffbZZxo2bJjN8czMTHXp0sXmWFBQkI4ePSpJysrKumJ7UVGRzp49a9MeGBgoX19fHTt2zK76TCbHfgEwztHvU64DQOPn7Pcx1wLA+RrLe9TNcV28snbt2tV53Gw2y8vLy+aYp6enSkpKrtpuNpslSd7e3rXaa9rqq23bNnadD6Bh+fu3dnYJAJyM6wCAxnQdcEqouhIvLy8VFRXZHCstLVXr1q2t7aWlpbXa/f39rWGrZn1VXY+vr7y8Ilks9lZff66uLo3qlwBoagoKzKqqqnZ2GYZwHQCMaQ7XAYlrAWCEo68DJlP9B1saVajq0qWL9uzZY3MsKytLwcHBkqTg4GBlZmbWar/zzjvl6+ur9u3b20wRPH/+vAoLC2tNGbwai0UODVUAjOM9CoDrAIDGch1oVPepioyMVG5urpKSklRRUaG0tDSlpqZq7NixkqRx48YpNTVVaWlpqqioUFJSkvLy8hQZGSlJioqKUmJiorKzs1VcXKwFCxYoLCxMnTp1cma3AAAAADRjjWqkyt/fX6tWrVJCQoKWLVumgIAAxcfHq1+/fpKk8PBwzZkzR3PnztW5c+cUFBSk5cuXy8/PT5I0Y8YMVVZWKjo6WmazWX379tXSpUud1yEAAAAAzZ7TQ9V/7szXvXt3rV+//ornjx49WqNHj66zzd3dXbGxsYqNjb2mNQIAAADAlTSq6X8AAAAA0NQQqgAAAADAAEIVAAAAABhAqAIAAAAAAwhVAAAAAGAAoQoAAAAADCBUAQAAAIABhCoAAAAAMIBQBQAAAAAGEKoAAAAAwABCFQAAAAAYQKgCAAAAAAMIVQAAAABgAKEKAAAAAAwgVAEAAACAAYQqAAAAADCAUAUAAAAABhCqAAAAAMAAQhUAAAAAGECoAgAAAAADCFUAAAAAYAChCgAAAAAMIFQBAAAAgAGEKgAAAAAwgFAFAAAAAAYQqgAAAADAAEIVAAAAABhAqAIAAAAAAwhVAAAAAGAAoQoAAAAADCBUAQAAAIABhCoAAAAAMIBQBQAAAAAGEKoAAAAAwABCFQAAAAAYQKgCAAAAAAMIVQAAAABgAKEKAAAAAAwgVAEAAACAAYQqAAAAADCAUAUAAAAABhCqAAAAAMAAQhUAAAAAGECoAgAAAAADCFUAAAAAYAChCgAAAAAMIFQBAAAAgAGEKgAAAAAwoNmFqry8PD322GO644471LdvXyUkJKiystLZZQEAAABopppdqHrqqafk7e2tXbt2acOGDdq7d6+SkpKcXRYAAACAZqpZhaoffvhBX3/9tWbOnCkvLy917NhRjz32mNauXevs0gAAAAA0U27OLuBayszMlJ+fn9q3b2891rlzZ505c0YXL17UddddV6/ncXGRLBZHVflv3W4IkJdHs/onABzqxsB/v4ddmsmfhDyuv0Umdy9nlwE0Ge5tb7L+d3O5DkhSl8Au8nTzdHYZQJPQya+T9b8deR0wmep/brP6RG82m+XlZfvhpOb7kpKSeoeqgIA217y2ujw/oX+DvA7Q3Pj7t3Z2CddM21HznF0C0CQ1p+uAJM0eMtvZJQBNTmO6DjSjv/FI3t7eunTpks2xmu9bt248P3QAAAAAzUezClXBwcEqLCxUbm6u9diJEyd0/fXXq02bhhl9AgAAANCyNKtQddNNN6l3795asGCBiouLlZ2drTfeeEPjxo1zdmkAAAAAmimTxdIQWzI0nNzcXL344ovat2+fXFxcNGbMGMXGxsrV1dXZpQEAAABohppdqAIAAACAhtSspv8BAAAAQEMjVAEAAACAAYQqAAAAADCAUAUAAAAABrg5uwCgoUVEROj8+fNyc7v862+xWHTjjTfq4Ycf1vjx4/Xmm2/qrbfekiRVVVWprKxM3t7e1sfPmzdPo0aNckrtAK6d/7wW1AgNDdWqVatUXl6ud955Rx9//LHOnDmjVq1aqWfPnnr88cd12223OalqAI40adIkhYWFKSwsTL/+9a917NgxZ5eEJoJQhRZp3rx5ioqKkiSVl5fryy+/1OzZs1VQUKDp06dr+vTpkqR9+/bp17/+tTIyMpxZLgAH+em14KfKyso0adIkeXh4aPHixerWrZsuXbqkd999Vw8//LBWr16tHj16OKFiAEBjRKhCi+fh4aF7771XhYWF+uMf/6iHHnpIPj4+zi4LgBOtWbNGp06d0tatW63Xg9atWysmJkYXL17U8ePHCVUAACvWVAH/MnjwYJWVlenAgQPOLgWAk23btk2DBw+u8w8ss2bN0rhx45xQFQCgsWKkCvgXf39/SVJhYaFzCwHQYObNm6cFCxbYHNu5c6fy8/PVp08fJ1UFAGhqCFXAv+Tn50uS2rZt6+RKADSUOXPm1Lmmql27dsrJyanzMRcuXJCXl5c8PDwcXR4AoIlg+h/wL9u2bZO3t7d69uzp7FIAOFlERIR27typ4uLiWm1xcXGKiYlxQlUAgMaKUIUWr7y8XJs3b9af/vQnPf3002xSAUAPPfSQAgMDFRMTo6NHj8pisaigoEBLlizRnj179MQTTzi7RAAN4OzZszZfVxrBBpj+hxZpzpw5mj9/viSpVatWuvnmmzVv3jwNGzbMyZUBaAxatWqltWvX6n/+53/0xBNPKDc3V56engoJCdFf/vIX7lMFtBB33XWXzfeBgYHas2ePk6pBY2ayWCwWZxcBAAAAAE0V0/8AAAAAwABCFQAAAAAYQKgCAAAAAAMIVQAAAABgAKEKAAAAAAwgVAEAAACAAYQqAAAAADCAUAUAAAAABrg5uwAAABzlhRdeUGpqqiSpsrJSFRUV8vLysrYvX75cd9xxh7PKAwA0EyaLxWJxdhEAADjaxo0b9frrr2vbtm3OLgUA0Mww/Q8A0CLdf//9evPNN22OjRw5Uhs2bNDGjRs1YcIEvfDCC+rVq5cGDhyoN954QzV/hywvL9ef//xn3XPPPQoLC9PUqVP1ww8/OKMbAIBGgFAFAGiRoqKi9OGHH1q/P3z4sE6dOqX7779fknTw4EF5eXlp7969SkxM1OrVq7VhwwZJ0quvvqovv/xSSUlJ2rVrl3r27KlHH31UZWVlTukLAMC5CFUAgBZpzJgx+vHHH/Xtt99KkjZt2qT77rtPrVu3liT5+fkpNjZWrVq1Uvfu3TVx4kR99NFHslgsWr9+vZ555hl17NhRrVq10owZM1RRUaEvv/zSiT0CADgLG1UAAFqkdu3aadCgQfrwww/VrVs3ffzxx3rttdes7T//+c/l7u5u/b5Dhw7asmWL8vPzVVJSoieffFIuLv/+22RFRYVOnz7doH0AADQOhCoAQIs1duxYzZs3TwMGDFCbNm3Up08fa1tOTo4sFotMJpMk6dSpU7rhhhvk7++vVq1aadWqVQoJCbGef/LkSbVv376huwAAaASY/gcAaLEGDx6sqqoqLVu2TFFRUTZt58+f19tvv62KigodOnRIycnJGj9+vFxcXDRu3DgtWbJEZ8+eVXV1tVJSUjRixAg2qwCAFoqRKgBAi+Xu7q5Ro0bp3XffVWJiok1bu3btdOrUKQ0cOFCtW7fWk08+qWHDhkmSZs2apddee00PPfSQCgsL1bFjRy1btky33nqrM7oBAHAy7lMFAGjR3n33Xe3cuVMrVqywHuOeVgAAezD9DwDQIp0/f16HDh3S6tWr9eCDDzq7HABAE0aoAgC0SF9++aUmTZqkAQMG6J577nF2OQCAJozpfwAAAABgACNVAAAAAGAAoQoAAAAADCBUAQAAAIABhCoAAAAAMIBQBQAAAAAGEKoAAAAAwABCFQAAAAAYQKgCAAAAAAP+P5LP2Vu9lMo1AAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1000x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "compareCity = df_train[[\"Type\", \"Days Open\"]].groupby(['Type'],as_index = False).mean()\n",
    "plt.figure(figsize = (10,5))\n",
    "\n",
    "plt.title(\"Working Days\",size=16)\n",
    "sns.barplot(x='Type', y = 'Days Open', data=compareCity)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8e7b52ce",
   "metadata": {},
   "source": [
    "## Dropping Irrelevent Columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "fedecac3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>City</th>\n",
       "      <th>City Group</th>\n",
       "      <th>Type</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>P3</th>\n",
       "      <th>P4</th>\n",
       "      <th>P5</th>\n",
       "      <th>P6</th>\n",
       "      <th>P7</th>\n",
       "      <th>...</th>\n",
       "      <th>P30</th>\n",
       "      <th>P31</th>\n",
       "      <th>P32</th>\n",
       "      <th>P33</th>\n",
       "      <th>P34</th>\n",
       "      <th>P35</th>\n",
       "      <th>P36</th>\n",
       "      <th>P37</th>\n",
       "      <th>revenue</th>\n",
       "      <th>Days Open</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>İstanbul</td>\n",
       "      <td>Big Cities</td>\n",
       "      <td>IL</td>\n",
       "      <td>4</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>5653753.0</td>\n",
       "      <td>8569</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Ankara</td>\n",
       "      <td>Big Cities</td>\n",
       "      <td>FC</td>\n",
       "      <td>4</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6923131.0</td>\n",
       "      <td>5435</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Diyarbakır</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2055379.0</td>\n",
       "      <td>3585</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Tokat</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>6</td>\n",
       "      <td>4.5</td>\n",
       "      <td>6.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>25</td>\n",
       "      <td>12</td>\n",
       "      <td>10</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>6</td>\n",
       "      <td>2675511.0</td>\n",
       "      <td>3986</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Gaziantep</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>4316715.0</td>\n",
       "      <td>4985</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 42 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         City  City Group Type  P1   P2   P3   P4  P5  P6  P7  ...  P30  P31  \\\n",
       "0    İstanbul  Big Cities   IL   4  5.0  4.0  4.0   2   2   5  ...    5    3   \n",
       "1      Ankara  Big Cities   FC   4  5.0  4.0  4.0   1   2   5  ...    0    0   \n",
       "2  Diyarbakır       Other   IL   2  4.0  2.0  5.0   2   3   5  ...    0    0   \n",
       "3       Tokat       Other   IL   6  4.5  6.0  6.0   4   4  10  ...   25   12   \n",
       "4   Gaziantep       Other   IL   3  4.0  3.0  4.0   2   2   5  ...    5    1   \n",
       "\n",
       "   P32  P33  P34  P35  P36  P37    revenue  Days Open  \n",
       "0    4    5    5    4    3    4  5653753.0       8569  \n",
       "1    0    0    0    0    0    0  6923131.0       5435  \n",
       "2    0    0    0    0    0    0  2055379.0       3585  \n",
       "3   10    6   18   12   12    6  2675511.0       3986  \n",
       "4    3    2    3    4    3    3  4316715.0       4985  \n",
       "\n",
       "[5 rows x 42 columns]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_train = df_train.drop('Open Date', axis = 1)\n",
    "df_train = df_train.drop('Id', axis = 1)\n",
    "df_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "1106df67",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>City</th>\n",
       "      <th>City Group</th>\n",
       "      <th>Type</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>P3</th>\n",
       "      <th>P4</th>\n",
       "      <th>P5</th>\n",
       "      <th>P6</th>\n",
       "      <th>P7</th>\n",
       "      <th>...</th>\n",
       "      <th>P29</th>\n",
       "      <th>P30</th>\n",
       "      <th>P31</th>\n",
       "      <th>P32</th>\n",
       "      <th>P33</th>\n",
       "      <th>P34</th>\n",
       "      <th>P35</th>\n",
       "      <th>P36</th>\n",
       "      <th>P37</th>\n",
       "      <th>Days Open</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Niğde</td>\n",
       "      <td>Other</td>\n",
       "      <td>FC</td>\n",
       "      <td>1</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4362</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Konya</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4307</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Ankara</td>\n",
       "      <td>Big Cities</td>\n",
       "      <td>FC</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Kocaeli</td>\n",
       "      <td>Other</td>\n",
       "      <td>IL</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3527</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Afyonkarahisar</td>\n",
       "      <td>Other</td>\n",
       "      <td>FC</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3441</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 41 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "             City  City Group Type  P1   P2   P3   P4  P5  P6  P7  ...  P29  \\\n",
       "0           Niğde       Other   FC   1  4.0  4.0  4.0   1   2   5  ...  3.0   \n",
       "1           Konya       Other   IL   3  4.0  4.0  4.0   2   2   5  ...  3.0   \n",
       "2          Ankara  Big Cities   FC   3  4.0  4.0  4.0   2   2   5  ...  3.0   \n",
       "3         Kocaeli       Other   IL   2  4.0  4.0  4.0   2   3   5  ...  3.0   \n",
       "4  Afyonkarahisar       Other   FC   2  4.0  4.0  4.0   1   2   5  ...  3.0   \n",
       "\n",
       "   P30  P31  P32  P33  P34  P35  P36  P37  Days Open  \n",
       "0    0    0    0    0    0    0    0    0       4362  \n",
       "1    0    0    0    0    0    0    0    0       4307  \n",
       "2    0    0    0    0    0    0    0    0       3350  \n",
       "3    0    4    0    0    0    0    0    0       3527  \n",
       "4    0    0    0    0    0    0    0    0       3441  \n",
       "\n",
       "[5 rows x 41 columns]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_test = df_test.drop('Open Date', axis = 1)\n",
    "df_test = df_test.drop('Id', axis = 1)\n",
    "df_test.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "4a0e9acd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>City</th>\n",
       "      <th>Type</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>P3</th>\n",
       "      <th>P4</th>\n",
       "      <th>P5</th>\n",
       "      <th>P6</th>\n",
       "      <th>P7</th>\n",
       "      <th>P8</th>\n",
       "      <th>...</th>\n",
       "      <th>P32</th>\n",
       "      <th>P33</th>\n",
       "      <th>P34</th>\n",
       "      <th>P35</th>\n",
       "      <th>P36</th>\n",
       "      <th>P37</th>\n",
       "      <th>revenue</th>\n",
       "      <th>Days Open</th>\n",
       "      <th>Big Cities</th>\n",
       "      <th>Other</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>İstanbul</td>\n",
       "      <td>IL</td>\n",
       "      <td>4</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>5653753.0</td>\n",
       "      <td>8569</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Ankara</td>\n",
       "      <td>FC</td>\n",
       "      <td>4</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6923131.0</td>\n",
       "      <td>5435</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Diyarbakır</td>\n",
       "      <td>IL</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2055379.0</td>\n",
       "      <td>3585</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Tokat</td>\n",
       "      <td>IL</td>\n",
       "      <td>6</td>\n",
       "      <td>4.5</td>\n",
       "      <td>6.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>8</td>\n",
       "      <td>...</td>\n",
       "      <td>10</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>6</td>\n",
       "      <td>2675511.0</td>\n",
       "      <td>3986</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Gaziantep</td>\n",
       "      <td>IL</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>4316715.0</td>\n",
       "      <td>4985</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 43 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         City Type  P1   P2   P3   P4  P5  P6  P7  P8  ...  P32  P33  P34  \\\n",
       "0    İstanbul   IL   4  5.0  4.0  4.0   2   2   5   4  ...    4    5    5   \n",
       "1      Ankara   FC   4  5.0  4.0  4.0   1   2   5   5  ...    0    0    0   \n",
       "2  Diyarbakır   IL   2  4.0  2.0  5.0   2   3   5   5  ...    0    0    0   \n",
       "3       Tokat   IL   6  4.5  6.0  6.0   4   4  10   8  ...   10    6   18   \n",
       "4   Gaziantep   IL   3  4.0  3.0  4.0   2   2   5   5  ...    3    2    3   \n",
       "\n",
       "   P35  P36  P37    revenue  Days Open  Big Cities  Other  \n",
       "0    4    3    4  5653753.0       8569           1      0  \n",
       "1    0    0    0  6923131.0       5435           1      0  \n",
       "2    0    0    0  2055379.0       3585           0      1  \n",
       "3   12   12    6  2675511.0       3986           0      1  \n",
       "4    4    3    3  4316715.0       4985           0      1  \n",
       "\n",
       "[5 rows x 43 columns]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "citygroupTrain = pd.get_dummies(df_train['City Group'])\n",
    "df_train = df_train.join(citygroupTrain)\n",
    "\n",
    "df_train = df_train.drop('City Group',axis=1)\n",
    "\n",
    "df_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "1531529f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>City</th>\n",
       "      <th>Type</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>P3</th>\n",
       "      <th>P4</th>\n",
       "      <th>P5</th>\n",
       "      <th>P6</th>\n",
       "      <th>P7</th>\n",
       "      <th>P8</th>\n",
       "      <th>...</th>\n",
       "      <th>P31</th>\n",
       "      <th>P32</th>\n",
       "      <th>P33</th>\n",
       "      <th>P34</th>\n",
       "      <th>P35</th>\n",
       "      <th>P36</th>\n",
       "      <th>P37</th>\n",
       "      <th>Days Open</th>\n",
       "      <th>Big Cities</th>\n",
       "      <th>Other</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Niğde</td>\n",
       "      <td>FC</td>\n",
       "      <td>1</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4362</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Konya</td>\n",
       "      <td>IL</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4307</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Ankara</td>\n",
       "      <td>FC</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3350</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Kocaeli</td>\n",
       "      <td>IL</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3527</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Afyonkarahisar</td>\n",
       "      <td>FC</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3441</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 42 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "             City Type  P1   P2   P3   P4  P5  P6  P7  P8  ...  P31  P32  P33  \\\n",
       "0           Niğde   FC   1  4.0  4.0  4.0   1   2   5   4  ...    0    0    0   \n",
       "1           Konya   IL   3  4.0  4.0  4.0   2   2   5   3  ...    0    0    0   \n",
       "2          Ankara   FC   3  4.0  4.0  4.0   2   2   5   4  ...    0    0    0   \n",
       "3         Kocaeli   IL   2  4.0  4.0  4.0   2   3   5   4  ...    4    0    0   \n",
       "4  Afyonkarahisar   FC   2  4.0  4.0  4.0   1   2   5   4  ...    0    0    0   \n",
       "\n",
       "   P34  P35  P36  P37  Days Open  Big Cities  Other  \n",
       "0    0    0    0    0       4362           0      1  \n",
       "1    0    0    0    0       4307           0      1  \n",
       "2    0    0    0    0       3350           1      0  \n",
       "3    0    0    0    0       3527           0      1  \n",
       "4    0    0    0    0       3441           0      1  \n",
       "\n",
       "[5 rows x 42 columns]"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "citygroupTest = pd.get_dummies(df_test['City Group'])\n",
    "df_test = df_test.join(citygroupTest)\n",
    "\n",
    "df_test = df_test.drop('City Group',axis=1)\n",
    "\n",
    "df_test.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "4f2d632e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>P3</th>\n",
       "      <th>P4</th>\n",
       "      <th>P5</th>\n",
       "      <th>P6</th>\n",
       "      <th>P7</th>\n",
       "      <th>P8</th>\n",
       "      <th>P9</th>\n",
       "      <th>P10</th>\n",
       "      <th>...</th>\n",
       "      <th>P31</th>\n",
       "      <th>P32</th>\n",
       "      <th>P33</th>\n",
       "      <th>P34</th>\n",
       "      <th>P35</th>\n",
       "      <th>P36</th>\n",
       "      <th>P37</th>\n",
       "      <th>Days Open</th>\n",
       "      <th>Big Cities</th>\n",
       "      <th>Other</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>4</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>9.055906</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4</td>\n",
       "      <td>5.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.600615</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.184514</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>6</td>\n",
       "      <td>4.5</td>\n",
       "      <td>6.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>8</td>\n",
       "      <td>10</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>10</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "      <td>12</td>\n",
       "      <td>12</td>\n",
       "      <td>6</td>\n",
       "      <td>8.290544</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>8.514189</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 40 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   P1   P2   P3   P4  P5  P6  P7  P8  P9  P10  ...  P31  P32  P33  P34  P35  \\\n",
       "0   4  5.0  4.0  4.0   2   2   5   4   5    5  ...    3    4    5    5    4   \n",
       "1   4  5.0  4.0  4.0   1   2   5   5   5    5  ...    0    0    0    0    0   \n",
       "2   2  4.0  2.0  5.0   2   3   5   5   5    5  ...    0    0    0    0    0   \n",
       "3   6  4.5  6.0  6.0   4   4  10   8  10   10  ...   12   10    6   18   12   \n",
       "4   3  4.0  3.0  4.0   2   2   5   5   5    5  ...    1    3    2    3    4   \n",
       "\n",
       "   P36  P37  Days Open  Big Cities  Other  \n",
       "0    3    4   9.055906           1      0  \n",
       "1    0    0   8.600615           1      0  \n",
       "2    0    0   8.184514           0      1  \n",
       "3   12    6   8.290544           0      1  \n",
       "4    3    3   8.514189           0      1  \n",
       "\n",
       "[5 rows x 40 columns]"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_train = df_train.iloc[:,list(range(2,39)) + list(range(40, 43))]\n",
    "x_train['Days Open'] = x_train['Days Open'].apply(np.log)\n",
    "x_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "a4321dcc",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    15.547830\n",
       "1    15.750379\n",
       "2    14.535971\n",
       "3    14.799651\n",
       "4    15.278005\n",
       "Name: revenue, dtype: float64"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train = df_train['revenue'].apply(np.log)\n",
    "y_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "728a7ba3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>City</th>\n",
       "      <th>Type</th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>P3</th>\n",
       "      <th>P4</th>\n",
       "      <th>P5</th>\n",
       "      <th>P6</th>\n",
       "      <th>P7</th>\n",
       "      <th>P8</th>\n",
       "      <th>...</th>\n",
       "      <th>P31</th>\n",
       "      <th>P32</th>\n",
       "      <th>P33</th>\n",
       "      <th>P34</th>\n",
       "      <th>P35</th>\n",
       "      <th>P36</th>\n",
       "      <th>P37</th>\n",
       "      <th>Days Open</th>\n",
       "      <th>Big Cities</th>\n",
       "      <th>Other</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Niğde</td>\n",
       "      <td>FC</td>\n",
       "      <td>1</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4362</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Konya</td>\n",
       "      <td>IL</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4307</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Ankara</td>\n",
       "      <td>FC</td>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3350</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Kocaeli</td>\n",
       "      <td>IL</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3527</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Afyonkarahisar</td>\n",
       "      <td>FC</td>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3441</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 42 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "             City Type  P1   P2   P3   P4  P5  P6  P7  P8  ...  P31  P32  P33  \\\n",
       "0           Niğde   FC   1  4.0  4.0  4.0   1   2   5   4  ...    0    0    0   \n",
       "1           Konya   IL   3  4.0  4.0  4.0   2   2   5   3  ...    0    0    0   \n",
       "2          Ankara   FC   3  4.0  4.0  4.0   2   2   5   4  ...    0    0    0   \n",
       "3         Kocaeli   IL   2  4.0  4.0  4.0   2   3   5   4  ...    4    0    0   \n",
       "4  Afyonkarahisar   FC   2  4.0  4.0  4.0   1   2   5   4  ...    0    0    0   \n",
       "\n",
       "   P34  P35  P36  P37  Days Open  Big Cities  Other  \n",
       "0    0    0    0    0       4362           0      1  \n",
       "1    0    0    0    0       4307           0      1  \n",
       "2    0    0    0    0       3350           1      0  \n",
       "3    0    0    0    0       3527           0      1  \n",
       "4    0    0    0    0       3441           0      1  \n",
       "\n",
       "[5 rows x 42 columns]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_test.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "4247b3f1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>P1</th>\n",
       "      <th>P2</th>\n",
       "      <th>P3</th>\n",
       "      <th>P4</th>\n",
       "      <th>P5</th>\n",
       "      <th>P6</th>\n",
       "      <th>P7</th>\n",
       "      <th>P8</th>\n",
       "      <th>P9</th>\n",
       "      <th>P10</th>\n",
       "      <th>...</th>\n",
       "      <th>P31</th>\n",
       "      <th>P32</th>\n",
       "      <th>P33</th>\n",
       "      <th>P34</th>\n",
       "      <th>P35</th>\n",
       "      <th>P36</th>\n",
       "      <th>P37</th>\n",
       "      <th>Days Open</th>\n",
       "      <th>Big Cities</th>\n",
       "      <th>Other</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.380686</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.367997</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.116716</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.168203</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.143517</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 40 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   P1   P2   P3   P4  P5  P6  P7  P8  P9  P10  ...  P31  P32  P33  P34  P35  \\\n",
       "0   1  4.0  4.0  4.0   1   2   5   4   5    5  ...    0    0    0    0    0   \n",
       "1   3  4.0  4.0  4.0   2   2   5   3   4    4  ...    0    0    0    0    0   \n",
       "2   3  4.0  4.0  4.0   2   2   5   4   4    5  ...    0    0    0    0    0   \n",
       "3   2  4.0  4.0  4.0   2   3   5   4   5    4  ...    4    0    0    0    0   \n",
       "4   2  4.0  4.0  4.0   1   2   5   4   5    4  ...    0    0    0    0    0   \n",
       "\n",
       "   P36  P37  Days Open  Big Cities  Other  \n",
       "0    0    0   8.380686           0      1  \n",
       "1    0    0   8.367997           0      1  \n",
       "2    0    0   8.116716           1      0  \n",
       "3    0    0   8.168203           0      1  \n",
       "4    0    0   8.143517           0      1  \n",
       "\n",
       "[5 rows x 40 columns]"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_test = df_test.iloc[:, 2:]\n",
    "x_test['Days Open'] = x_test['Days Open'].apply(np.log)\n",
    "x_test.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d6c2c707",
   "metadata": {},
   "source": [
    "## Standard Scaling for model efficiency"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "ed7b7e61",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "sc = StandardScaler(with_std = True, with_mean = True, copy = True)\n",
    "x_train = sc.fit_transform(x_train)\n",
    "x_test = sc.fit_transform(x_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d842946e",
   "metadata": {},
   "source": [
    "## Designing Models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "0682c930",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([15.10439592, 14.88964681, 14.80735334, ..., 15.17030443,\n",
       "       15.32960931, 15.31620526])"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Support Vector Regression\n",
    "from sklearn.svm import SVR\n",
    "clf = SVR()\n",
    "clf.fit(x_train,y_train)\n",
    "predictions = clf.predict(x_test)\n",
    "predictions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "9f1ef6f6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5721119310831076"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clf.score(x_train,y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "02433d7b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([15.13801168, 14.88337211, 14.75731799, ..., 15.34007735,\n",
       "       15.46818347, 15.86012732])"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Linear Regression\n",
    "from sklearn.linear_model import LinearRegression\n",
    "\n",
    "clf = LinearRegression()\n",
    "clf.fit(x_train,y_train)\n",
    "predictions = clf.predict(x_test)\n",
    "predictions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "daaba40d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.37062006983184836"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clf.score(x_train,y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "f2513a34",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([15.14868495, 15.06612931, 15.01986447, ..., 15.08542013,\n",
       "       15.01998944, 15.48401302])"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Random Forest Regressor\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "\n",
    "clf = RandomForestRegressor(random_state=42)\n",
    "clf.fit(x_train,y_train)\n",
    "predictions = clf.predict(x_test)\n",
    "predictions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "656a6f2b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.889855494366892"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clf.score(x_train,y_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e5d02cce",
   "metadata": {},
   "source": [
    "## In conclusion, Random Forest Regressor gives the best score."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2dcc7578",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
